docker 使用技巧总结

1、查看容器内的文件目录

方法1:docker run的时候,以bash进入

比如:docker run -it python:3.9.7(镜像名:镜像tag) /bin/bash

方法2:针对运行中的容器,以docker exec进入

docker exec -it 86b03a059e82(容器名,centos的容器) /bin/bash(command,以bash进入)

2、Jenkins运行时,初始环境清理-包括镜像及容器清理以及上一次测试结果清理

不推荐这种方法:

for i in $(docker images -aq) ; do docker rmi -f $i; done                      # 镜像清理(慎用
if [ ! -z $(docker ps -n1 -q) ]; then (docker rm -f $(docker ps -aq)); fi   # 容器清理(慎用

说明:

如果容器存在,再进行清理

这种方法更优:

echo "初始环境清理-包括镜像及容器清理以及上一次测试结果清理"
#if [ ! -z $(docker images 10.0.3.229:5000/locust1 -q) ]; then (docker rmi -f $(docker images 10.0.3.229:5000/locust1 -q)); fi
if [ ! -z $(docker ps -f name=locust-master -aq) ]; then (docker rm -f $(docker ps -f name=locust-master -aq)); fi
rm -f berttest_distributed.html

3、Dockerfile  -v  两者必须为绝对路径,可通过docker inspect 查看路径映射

说明:如果用户Dockerfile构造的镜像,将一些代码拷贝到镜像的某个路径内,如果用户运行容器的时候,指定挂载目录,则挂载后,容器内被挂载的路径,将不会保留原来的内容,和外部的挂载目录内的内容保持一致。

4、使用Dockerfile生成镜像的时候,出现"build context for docker image very large"

原因是:使用COPY将本地的内容,拷贝到镜像的时候,比如 COPY .(本地)  /mnt(镜像内)

会将本地的所有内容拷贝到镜像内,可能本地有.git文件,占用较大的空间,导致打标的镜像很大,此时,可以通过创建.dockerignore放到和Dockerfile同级别的目录下,文件内填写需要忽略的文件,比如.git,一行一个 

可以参照:build context for docker image very large - Stack Overflow

5、在Jenkins中,运行docker run时,不能增加选项-t,否则出现报错 “the input device is not a tty” 

参照:

docker - Error "The input device is not a TTY" - Stack Overflow

 Jenkins: the input device is not a TTY - 互联网开发笔记

6、docker退出删除容器,使用--rm选项

docker run -it --rm centos:latest /bin/bash

在执行docker run的时候如果添加--rm参数,则容器终止后会立刻删除。--rm参数和-d参数不能同时使用

参照:docker如何退出就删除容器(示例)_霓虹深处-CSDN博客_docker 运行后删除 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值