容器基础(二)

https://zhuanlan.zhihu.com/p/584327825  #实例案例

mysql实例

#1. 搜索镜像 search 上hub.docker.com搜索
[root@localhost docker]# docker search mysql
#2. 拉取镜像 pull
[root@localhost docker]# docker pull mysql:5.7
#3、运行测试
# -d 后台运行
# --name 给容器命名
# -p 宿主机端口:容器内部端口
[root@localhost docker]# docker run -d -p 13306:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql1 mysql:5.7
#测试 (关闭防火墙或授权远程访问)  外部连接访问正常 
#进入容器命令:docker exec -it 容器id /bin/bash
------------------------------容器启动进行数据挂载-----------------------------
#mysql容器正常启动  数据挂载成功  
$ docker run -d -p 23306:3306 -v /data/mysql/conf:/etc/mysql/conf.d -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name mysql01 mysql:5.7
# 开放23306端口及安全组,在容器内部创建用户并授权,测试OK

 

nginx实例

#直接安装nginx镜像运行nginx容器
[root@localhost docker]# docker run -d -p 80:80 --name mynginx nginx
#进入容器 复制文件到容器同上,不在累述
#数据挂载  (把容器文件挂载到宿主机上面,不用每次进入容器内部修改文件,在容器外部宿主机修改文件会自动同步到容器内部,并且当删除容器后,宿主机上的文件不会被删除,相当于对容器内部文件进行持久化操作。)
[root@localhost docker]# docker run -d -p 8033:80 -v /data/nginx/html:/usr/share/nginx/html --name mynginx nginx
#在/data/nginx/html目录下创建test.html
[root@localhost html]# vim test.html
#测试成功
[root@localhost html]# curl localhost:8033/test.html
--------------------------------------------------------------------------------------
[root@localhost docker]# docker run -dit -p 8081:80 -v /data/nginx/conf:/etc/nginx -v /data/nginx/log:/var/log/nginx -v /data/nginx/html:/usr/share/nginx/html --name nginx1 nginx /bin/bash
# 说明:当挂载容器内安装软件配置目录容易出现很多问题,比如:1.后台启动即退出 2.成功启动后无法正常访问
[root@VM_0_5_centos conf]# curl localhost:8081
curl: (56) Recv failure: Connection reset by peer

 

tomcat

#拉取镜像
[root@localhost docker]# docker pull tomcat                                 
#创建容器运行
[root@localhost docker]# docker run -d -p 8080:8080 --name mytomcat tomcat        
#测试访问(记得关闭防火墙 此时会发现访问成功出现404响应,原因是webapps下面没有资源)
ip:8080
#进入容器(可以使用容器名称或容器id)
[root@localhost docker]# docker exec -it mytomcat /bin/bash
#将webapps.dist下的内容复制到webapps下面,重新访问即可看到正常页面
root@ebef54554573:/usr/local/tomcat# cp -r webapps.dist/*  webapps/
#部署项目到tomcat
[root@localhost docker]# docker cp demo.war mytomcat:/usr/local/tomcat/webapps/
#重启tomcat容器
[root@localhost docker]# docker restart mytomcat

posted @ 2023-11-14 15:21  ZhengLiming  阅读(2)  评论(0编辑  收藏  举报