dockefile 制作(简单)&& 删除维护

详见链接(https://yeasy.gitbooks.io/docker_practice/image/dockerfile/entrypoint.html)

Dockfile 文件制作

root@戴燚:/home/daiyi/Documents/study/docker/nginx-test# cat Dockerfile 
FROM python:2.7.15-alpine3.8            #以原来的python为镜像基础。
USER root												# 用户
ENV prefix=/daiyi_nginx						#环境变量
ENV workdir=$prefix/dashboard


RUN mkdir -p $prefix							#执行 shell 命令。

WORKDIR $workdir                           # 工作目录,相当于 cd $workdir 

COPY test.txt pip_requirements.txt       # 复制单个文件
ADD ./ ./													#复制当前的全部文件
ENTRYPOINT ["/bin/sh"]							# 设置 cmd 命令

2 生成一些文件,以便待会检验

root@戴燚:/home/daiyi/Documents/study/docker/nginx-test# ls
aa  bb  cc  Dockerfile  nginx  test.txt

docker build 生成镜像。

root@戴燚:/home/daiyi/Documents/study/docker/nginx-test# docker build . -t daiyi-nginx:text4
Sending build context to Docker daemon   5.12kB
Step 1/9 : FROM python:2.7.15-alpine3.8
 ---> 309337f1f167

查看效果。

root@戴燚:/home/daiyi/Documents/study/docker/nginx-test# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
daiyi-nginx         text4               b7d509aa7855        9 seconds ago       58.3MB
daiyi-nginx         text3               6805da1d86da        8 minutes ago       58.3MB
daiyi-nginx         text2               6febfbc0b3eb        13 minutes ago      58.3MB
falcon-dashboard    local               b05fa36213a4        3 weeks ago         353MB
python              2.7.15-alpine3.8    309337f1f167        7 weeks ago         58.3MB
root@戴燚:/home/daiyi/Documents/study/docker/nginx-test# docker run -it --name="daiyi4" daiyi-nginx:text4
/daiyi_nginx/dashboard # ls
Dockerfile            bb                    nginx                 test.txt
aa                    cc                    pip_requirements.txt
/daiyi_nginx/dashboard # pwd
/daiyi_nginx/dashboard

删除docker images

docker rmi -f 强制删除

 for i in `docker images|awk -F" " '{for(i=3;i<(NR-2);i++){print $3}}'`;do docker rmi -f $i;done

删除docker images中为none的镜像

docker images|grep none|awk '{print $3 }'|xargs docker rmi

或者。

docker rmi -f $(docker images | grep <none> | awk '{print $3}')
强制删除镜像名称中包含“doss-api”的镜像
docker rmi --force $(docker images | grep doss-api | awk '{print $3}')

杀死所有正在运行的容器
docker kill $(docker ps -a -q)
删除所有已经停止的容器
docker rm $(docker ps -a -q)
删除所有未打 dangling 标签的镜像
docker rmi $(docker images -q -f dangling=true)
删除所有镜像
docker rmi $(docker images -q)

删除停止的容器
docker rm $(docker ps --all -q -f status=exited)
删除没有使用的镜像
docker rmi -f $(docker images | grep "<none>" | awk "{print \$3}")

批量删除镜像
docker images | awk '{print $3}' | xargs docker rmi
批量删除容器
docker ps -a | awk '{print $1}' | xargs docker rm
如果需要根据具体的容器名或镜像名过滤的话,可以修改上面的awk表达式进行处理。
类似这样,删除test_开头的镜像:
docker rmi -f $(docker images --format "{{.Repository}}" |grep "^test_*")

后面参考:https://blog.csdn.net/xl_lx/article/details/81565910

猜你喜欢

转载自blog.csdn.net/weixin_41088891/article/details/86691055