Docker的mysql、nginx高配版部署

这里所说的高配版,意思是并非简单的在docker上跑一个容器,而是运行的容器软件可被用户自定义配置,可直接用于生产环境,当然如果生产环境用k8s的话就另说了。

  • mysql

   宿主机:192.168.70.134

1.docker运行

docker run -d --name mysql \
-p 3306:3306 \
-p 33060:33060 \
-v /opt/mysql/conf.d:/etc/mysql/conf.d \
-v /opt/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:latest

2.复制配置文件

docker run -d --name tmpmysql mysql:latest
docker cp tmpmysql:/etc/mysql/conf.d/mysql.cnf /opt/mysql/conf.d
docker cp tmpmysql:/etc/mysql/conf.d/docker.cnf /opt/mysql/conf.d
docker rm -f tmpmysql

3.进入mysql命令行

  注意:宿主机没有安装mysql客户端,所以需要再运行一个匿名的mysql容器作为客户端来连接mysql服务

docker run -it --rm mysql:latest mysql -h192.168.70.134 -uroot -p
  • nginx

1.docker运行

docker run -d -p 8082:80 --name nginx \
-v /opt/nginx/www:/usr/share/nginx/html \
-v /opt/nginx/conf.d/:/etc/nginx/conf.d \
-v /opt/nginx/logs:/var/log/nginx \
nginx

2.复制配置文件

   注意:由于挂载了配置文件目录,所以上面创建容器时就将配置文件清空了,所以需要运行一个临时用的无挂载的nginx容器

docker run -d --name tmpnginx nginx
docker cp tmpnginx:/etc/nginx/conf.d/default.conf /opt/nginx/conf.d
docker rm -f tmpnginx

3.创建index.html

vim /opt/nginx/www/index.html

#编辑如下内容



  
  
  
        
Hello, Welcome!!!

---------nginx docker deploy-----------------
docker run -d -p 8082:80 --name nginx \
-v /opt/nginx/www:/usr/share/nginx/html \
-v /opt/nginx/conf.d/:/etc/nginx/conf.d \
-v /opt/nginx/logs:/var/log/nginx \
nginx

docker run -d --name tmpnginx nginx
docker cp tmpnginx:/etc/nginx/conf.d/default.conf :/opt/nginx/conf.d
docker rm -f tmpnginx

vim /opt/nginx/www/index.html

执行nginx的相关命令:docker exec -it nginx nginx -s start|stop|restart

4.访问nginx

  http://192.168.70.134:8082

Docker的mysql、nginx高配版部署_第1张图片

你可能感兴趣的:(服务器,Linux,docker)