遇一山,过一山,处处有风景;只要勇敢向前,一路尽是繁花盛开。 | (点击查看→)【测试干货】python/java自动化、持续集成、性能、测开、简历、笔试面试等

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

 

posted @ 2024-03-09 20:53  全栈测试笔记  阅读(66)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end