这里所说的高配版,意思是并非简单的在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
#编辑如下内容
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<center>
<font size="3" color="red">Hello, Welcome!!!</font><br>
</center>
<br>
---------nginx docker deploy-----------------<br>
docker run -d -p 8082:80 --name nginx \<br>
-v /opt/nginx/www:/usr/share/nginx/html \<br>
-v /opt/nginx/conf.d/:/etc/nginx/conf.d \<br>
-v /opt/nginx/logs:/var/log/nginx \<br>
nginx<br>
<br>
docker run -d --name tmpnginx nginx<br>
docker cp tmpnginx:/etc/nginx/conf.d/default.conf :/opt/nginx/conf.d<br>
docker rm -f tmpnginx<br>
<br>
vim /opt/nginx/www/index.html<br>
<br>
执行nginx的相关命令:docker exec -it nginx nginx -s start|stop|restart<br>
</html>
4.访问nginx
http://192.168.70.134:8082