docker基础(04):容器操作
本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/8894133.html
运行容器
先拉取镜像

只有200M,是精简版centos(linux),只包含系统运行最基本的内核和库
运行容器,@后面是容器的id
执行exit可以退出并关闭容器

容器中,很多命令没有,比如ifconfig,可以这样安装:yum install -y net-tools
查看容器
docker ps -a
可以看到状态是Exited

-q,只显示容器id
docker ps -aq

启动容器
docker start

只显示运行的,docker ps

停止容器
docker stop

删除容器
docker rm

一个镜像可以生成多个容器,启动时不指定名称,名称是是随机定义的

批量删除容器
docker rm -f $(docker ps -aq)
另外,也可以:docker rm -f 容器1 容器2

示例(含docker commit方式更新镜像)
拉取镜像


运行容器

不能访问,因为tomcat不是直接跑在虚拟机上的,而是跑在虚拟机上docker里面容器里的
192.168.0.105:8080

删除容器
docker rm

运行容器,指定端口

查看容器

访问:192.168.0.105:9999,可以访问,但是报404

进入容器
如果进入容器报错,可能版本是1.13.1 ,升级到ce版本可以解决,详见:安装docker部分
也可以根据docker官方文档配置yum源,重新安装,https://docs.docker.com/install/linux/docker-ce/centos/
下面两个图就是我之前安装的docker


如果是ce版本,就没问题,如下图

进入webapps文件夹,是空的(tomcat默认的欢迎页面实际上放在的路径应该是webapps/ROOT/index.jsp或者index.html),旁边还有个webapps.dist的文件,进入才发现原本应该在webapps文件中的文件都在webapps.dist文件中。所以将webapps.dist重命名为webapps。

改名后

更新镜像:docker commit,将修改后的容器提交生成一个新镜像
-m是描述,-a是作者

通过新镜像,运行容器

加上版本


访问:192.168.0.105:8888,成功

tomcat后台运行,-d
先删除容器


返回了完整容器id

查看,docker ps
只显示12位容器id

停止

启动

查看日志
docker logs 容器id或者容器名称
下面看到的就是tomcat的启动日志

拷贝
宿主机拷贝到容器中
docker cp

可以访问到
192.168.0.105:8888

容器拷贝到宿主机
拷贝到当前目录

在宿主机中可以看到

挂载
-v指定共享目录,前面是宿主机目录,后面是容器目录
运行下面的命令
docker run \ --name mytomcat2_con \ -p 8888:8080 \ -v /root/docker_test/tomcat/mydata:/usr/local/tomcat/mydata \ -d mytomcat2:v2
mydata目录在容器中会自动创建,然后通过容器中mydata目录可以看到宿主机对应目录下的文件
docker exec -it xxxxxxxxxxxx /bin/bash

容器中新增2.txt,3.txt

宿主机中可以看到容器中新增的文件

获取元信息
docker inspect 容器id

默认是rw,表示读写,如果容器中不能改,可以改为只读ro
-v /root/docker_test/tomcat/mydata:/usr/local/tomcat/mydata:ro

包含了jdk

__EOF__
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!

浙公网安备 33010602011771号