李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
工具
正文
Docker应用部署
Leefs
2020-01-05 PM
3540℃
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
Java
326
大数据
229
工具
31
其它
25
GO
47
NLP
4
标签云
数学
哈希表
序列化和反序列化
Sentinel
字符串
Golang
稀疏数组
JavaWEB项目搭建
队列
锁
Shiro
Zookeeper
FileBeat
Redis
Nacos
Jquery
JVM
Kafka
RSA加解密
Git
数据结构和算法
Stream流
gorm
MyBatisX
MyBatis-Plus
Http
Scala
前端
nginx
Typora
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞
评论已关闭