李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
工具
正文
Docker应用部署
Leefs
2020-01-05 PM
2745℃
2条
[TOC] ### 前言 本篇讲述在Docker容器中部署MySQL、Tomcat、Nginx、Redis希望可以给大家带来一点帮助。 ### 1. MySQL部署 **1.1 拉取MySQL镜像** ``` [root@localhost ~]# docker pull centos/mysql-57-centos7 ``` 本次安装的是MySQL5.7版本的镜像 **1.2 创建容器** ``` docker run -di --name=mydemo_mysql(容器名称) -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root123 centos/mysql-57-centos7(镜像名称) ``` -p 代表端口映射,格式为 宿主机映射端口:容器运行端口 -e 代表添加环境变量 MYSQL_ROOT_PASSWORD 是root用户的登陆密码 **1.3 远程登录mysql** 连接宿主机的IP ,指定端口为3306 ### 2. Tomcat部署 **2.1 拉取镜像** ``` docker pull tomcat ``` **2.2 创建容器** 创建容器 -p表示地址映射 ``` docker run -di --name=mytomcat -p 8081:8080 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat ``` 注意:在进行容器创建的时候如果如下错误 ``` docker: Error response from daemon: driver failed programming external connectivity on endpoint mytomcat (5c00584138635695e468da46ab71212003baa243cf31da20dfbdf4fe8eabf8e4): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8081 -j DNAT --to-destination 172.17.0.3:8080 ! -i docker0: iptables: No chain/target/match by that name. (exit status 1)). ``` **原因** > docker服务启动时定义的自定义链DOCKER由于某种原因被清掉 > 重启docker服务及可重新生成自定义链DOCKER **解决** > 重启docker服务后再启动容器 > > + systemctl restart docker > + docker start tomcat **2.3 测试** 在Tomcat中`/usr/local/webapps`目录下部署WEB应用进行测试 本次测试用例部署的事CAS。 通过`IP:端口号/cas`进行访问 如果不能访问可以重新启动Tomcat容器,在进行访问 ![Docker应用部署01.png][1] ### 3. Nginx部署 **3.1 拉起Nginx镜像** ``` docker pull nginx ``` **3.2 创建Nginx容器** ``` docker run -di --name=mynginx -p 80:80 nginx ``` **3.3 通过浏览器访问** ![Docker应用部署02.png][2] 出现上述页面说明访问成功 **3.4 将项目的静态页面部署到Nginx中** 3.4.1 将dockerdemo文件中的静态页面部署到nginx中 ``` [root@localhost ~]# ls dockerdemo ``` 3.4.2 进入到Nginx容器目录 ``` [root@localhost ~]# docker exec -it nynginx /bin/bash ``` 3.4.3 进入/etc目录下展示目录信息 ``` root@680871a6344e:/# cd etc/ root@680871a6344e:/etc# ls ``` ![Docker应用部署03.png][3] 在文件中可以找到nginx文件 进入到nginx目录,查看文件信息 ``` root@680871a6344e:/etc# cd nginx root@680871a6344e:/etc/nginx# ls conf.d fastcgi_params koi-utf koi-win mime.types modules nginx.conf scgi_params uwsgi_params win-utf ``` 3.4.4 使用cat命令查看nginx.conf配置文件中的信息 ![Docker应用部署04.png][4] 可以看到include 对应的路径是: `/etc/nginx/conf.d/*.conf` 3.4.5 查看nginx目录下的`conf.d/default.conf`配置文件信息 ![Docker应用部署05.png][5] location 下的root就是nginx欢迎页的存放目录 3.4.6 进入/usr/share/nginx/html/目录进行查看 ``` root@680871a6344e:/# cd /usr/share/nginx/html/ root@680871a6344e:/usr/share/nginx/html# ls 50x.html index.html ``` 3.4.7 退出nginx容器目录 ``` root@680871a6344e:/usr/share/nginx/html# exit exit ``` 3.4.8 将dockerdemo文件改名成html然后将nginx中的html目录进行替换 ``` [root@localhost ~]# mv dockerdemo html [root@localhost ~]# docker cp html/ nynginx:/usr/share/nginx/ ``` 3.4.9 再次浏览器访问测试 ![Docker应用部署06.png][6] 部署成功 ### 4. Redis部署 **4.1 拉取镜像** ``` docker pull redis ``` **4.2 创建容器** ``` [root@localhost ~]# docker run -di --name=myredis -p 6379:6379 redis 730f00f73defe7b1832b7ed7ddb216085e55ac8954a9b180392ea0d5784c9881 ``` **4.3 进行连接测试** 在windows客户端打开redis客户端进行连接测试 ![Docker应用部署07.png][7] [1]: https://lilinchao.com/usr/uploads/2020/01/3515738209.png [2]: https://lilinchao.com/usr/uploads/2020/01/3974687541.png [3]: https://lilinchao.com/usr/uploads/2020/01/3881283696.png [4]: https://lilinchao.com/usr/uploads/2020/01/1268404172.png [5]: https://lilinchao.com/usr/uploads/2020/01/1895148326.png [6]: https://lilinchao.com/usr/uploads/2020/01/473494664.png [7]: https://lilinchao.com/usr/uploads/2020/01/50047462.png
标签:
Linux
,
Docker
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:
https://lilinchao.com/archives/388.html
上一篇
CentOS中Docker简单命令
下一篇
填充容器--一种Generator解决方案
取消回复
评论啦~
提交评论
已有 2 条评论
茂林
哇·
看不懂
回复
2020-01-06 08:23
Leefs
博主
@茂林
哈哈,学学项目部署
回复
2020-01-06 08:27
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
47
标签云
JavaWeb
Kafka
稀疏数组
队列
SpringBoot
Jenkins
随笔
Http
Spark RDD
Spark
HDFS
数学
GET和POST
Flume
Beego
SpringCloudAlibaba
工具
FileBeat
Livy
Git
栈
Thymeleaf
Scala
Java编程思想
Map
设计模式
数据结构
MySQL
Shiro
FastDFS
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞
哇·
看不懂
哈哈,学学项目部署