Docker基础

常用命令

命令 用途
docker pull 获取image
docker build 创建 image
docker images 列出image
docker run 运行 container
docker ps 列出container
docker rm 删除container
docker rmi 删除image
docker cp 在host和container之间拷贝文件
docker commit 保存改动为新的image

docker system df

以上命令来便捷的查看镜像、容器、数据卷所占用的空间

docker image ls 和 docker images 是一致的, 查看镜像列表;

docker image ls -f dangling=true

专门显示这类镜像, 虚悬镜像(dangling image) :
这个镜像原本是有镜像名和标签的,原来为 mongo:3.2,随着官方镜像维护,发布了新版本后,重新 docker pull mongo:3.2 时,mongo:3.2 这个镜像名被转移到了新下载的镜像身上,而旧的镜像上的这个名称则被取消,从而成为了 <none>。除了 docker pull 可能导致这种情况,docker build 也同样可以导致这种现象。由于新旧镜像同名,旧镜像名称被取消,从而出现仓库名、标签均为 <none> 的镜像。
一般来说,虚悬镜像已经失去了存在的价值,是可以随意删除的,可以用下面的命令删除。

docker image prune 删除虚悬镜像;

docker image ls -a, 可以显示中间层镜像;

列出部分镜像的方法, 通过docker image ls 扩展实现:

  • docker image ls 仓库名, 可以显示指定名字的所有镜像
  • docker image ls 仓库名:标签, 显示指定仓库名和标签的镜像;
  • docker image ls -f since=mongo:3.2 -f 表示-filter的缩写, 过滤条件。 之后, befor 之前。。
  • docker image ls -f label=com.example.version=0.1 通过label查询
  • docker image ls --format "{{.ID}}:{{.Tag}}:{{.Repository}}"
  • docker image ls --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
  • docker image ls --digests
  • docker image rm $(docker image ls -q redis) 删除所有redis的镜像
  • docker image rm $(docker image ls -q -f before=mongo:3.2) 删除所有mongo:3.2之前的镜像

docker exec 可以使用这个命令进入到容器。

$ docker exec -it webserver bash
root@3729b97e8226:/# echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
root@3729b97e8226:/# exit
exit

Dockerfile语法

命令 用途
FROM base image
RUN 执行命令
ADD 添加文件
COPY 拷贝文件
CMD 执行命令
EXPOSE 暴露端口
WORKDIR 指定路径
MAINTAINER 维护者
ENV 设定环境变量
ENTRYPOINT 容器入口
USER 指定用户
VOLUME mount pont
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容