Docker容器是一个轻量沙箱,docker利用容器运行和隔离应用,容器是镜像的一个运行示例。可以启动、停止、开始、删除,彼此隔离互不相见。
一、docker镜像常用操作命令
1.pull命令
具体的docker镜像版本可以参考Docker Hub 去获取版本信息
搜索tomcat,右侧的命令默认下载最新版本的镜像,其他的版本可以查看tags有哪些版本
然后找到合适的版本,直接复制可以下载对应的版本镜像
docker pull tomcat:9.0.20-jre8-alpine
2.压缩镜像
docker save 镜像:版本 -o 或 > 指定目录
docker save tomcat:9.0.20-jre8-alpine -o tomcat9.tar
3.load 导入镜像
docker load -i tomcat9.tar
4.rmi 删除镜像
-f 强制删除镜像
docker rmi tomcat:9.0.20-jre8-alpine
5.history 查看镜像有多少层
docker history tomcat:9.0.20-jre8-alpine
6.查看镜像的信息 inspect
docker inspect tomcat:9.0.20-jre8-alpine
二、docker容器常用的操作命令
1.新建并启动容器
docker run
-d 容器在后台运行
-i 交互模式运行容器
-P 随机端口映射(不建议使用)
-p 指定映射端口 格式: 主机端口:容器端口
-t 为容器分配一个伪输入终端
-h 指定容器hostname
-e 设置环境变量,容器运行时会使用该环境变量
--net=“bridge” 指定容器的网络类型 bridge/host/none/container
--link=[] 添加链接到另外一个容器(不推荐使用)
-v 绑定一个卷
--privileged=false 是否为特权容器
--name="name" 为容器指定一个名称
--restart=no 容器停止后是否立即重启 no on-faliure always (推荐)
--rm=false 停止时自动删除容器
docker run -itd --rm -p 8088:8080 tomcat:9.0.20-jre8-alpine
执行run命令, 在后台运行一个映射宿主机端口为8088的tomcat,在容器被停止后,则删除容器
可以看到,在我本地浏览器。输入ip+8088能正常访问tomcat,
查看docker中的容器 docker ps,存在一个正在运行时的tomcat
当我执行docker stop ID停止容器后,再次docker ps 查看,没有tomcat了
2.容器日志
docker logs 容器名称
-f 日志输出
--tail 跟踪输出 比如 docker logs tomcat --tail 20f
3.删除容器
docker rm 容器名称 不可以删正在运行的容器
-f 强制删除 可以删除运行中的容器
-l 移除容器间网络连接,不删除容器
-v 删除与容器关联的卷
容器在运行时,不能直接删除,如果非要删除,-f 可以直接删除,不过还是建议使用stop命令停止以后再删除
4.停止容器
docker stop 容器名称
5.查看容器
docker ps 查看运行中容器
-a 查看所有的容器,包括停止的容器
-q 运行中容器的ID
-qa 所有容器的ID
6.启动容器
docker start 容器名称
组合使用,启动容器
7.停止容器
docker stop 容器名称
docker stop $(docker ps -qa) 查看所有容器的ID 然后停止容器
8.创建容器
docker create 镜像名称 这里只是创建了,不会启动
9.进入容器
docker exec 【options】 容器名称 /bin/bash 或者 sh
会进入容器的目录中
exit 退出容器
后面跟 /bin/bash 或者 sh 根据容器类型选择,tomcat镜像是alpine制作的(后缀为 -alpine),所以使用sh会展示全路径,如果镜像是centos制作的,使用/bin/bash会显示全路径,都可以,选择性使用
10.杀掉容器
docker kill 容器名称