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
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!