Docker 安装部署教程

Docker logo

Docker 安装

curl -sSL https://get.daocloud.io/docker | sh

Docker-Compose 安装并设置权限

curl -L https://get.daocloud.io/docker/compose/releases/download/v2.3.3/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

配置 Docker 镜像源

创建 daemon.json 文件

sudo mkdir -p /etc/docker

写入镜像源

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com"]
}
EOF

赋予普通用户执行 Docker 命令

gpasswd -a username docker

重启 Docker 服务

sudo service docker restart

部署 MySQL 容器

docker run --name mysql --restart=always -d -p port:3306 -v $PWD/mysql/data:/var/lib/mysql -v $PWD/mysql/conf/conf.d:/etc/mysql/conf.d -v $PWD/mysql/log:/var/log/mysql -e MYSQL_ROOT_PASSWORD="××××××××××" mysql

部署 phpMyAdmin 容器

docker run --name phpmyadmin --restart=always -d --link mysql:db -p port:80 phpmyadmin/phpmyadmin

部署 WordPress 容器

docker run --name wordpress --restart=always -d -p port:80 --link mysql:db -v $PWD/wordpress:/var/www/html wordpress

部署 Nginx 容器

docker run -p port:80 -p port:443 --name nginx --restart=always -v $PWD/nginx/nginx.conf:/etc/nginx/nginx.conf -v $PWD/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v $PWD/nginx/log:/var/log/nginx -v $PWD/nginx/html:/usr/share/nginx/html -v $PWD/nginx/cert:/etc/nginx/cert -d nginx

Nginx 初始配置文件

Nginx 初始配置文件

部署 NextCloud 容器

docker run -d --name nextcloud --restart=always -p port:80 --link wordpress_mysql:db -v $PWD/nextcloud/:/var/www/html/ nextcloud

以 www-data 身份运行 crontab

crontab -u www-data -e
*/5 * * * * docker exec --user www-data ${container id} php cron.php