Docker 常用命令

查看镜像

docker images
包含 仓库名,标签,镜像ID,创建时间以及所占用的空间

此命令回去执行 拉取DockerHub的镜像源

docker pull <名称> <版本> (默认会pull最新版本)

运行镜像

docker run 就是运行容器的命令, -it -i:交互式操作, -t终端 进入bash --rm 是指容器退出后随之将其删除

docker run -it --rm ubuntu:14.04 bash
root@9839c757a804:/# cat /etc/os-release 
NAME="Ubuntu"
VERSION="14.04.5 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.5 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

虚悬镜像

有有时我们会pull下来类似于这样的镜像

<none>   <none>   00285df0df87    5day ago  342 MB

此镜像其实是有标签存在的,只是随着官网的镜像维护更新后 重新pull时这个镜像被转移到了新的镜像身上,而旧镜像本身的名称被取消,所以显示none 当然 docker build 也会出现同样的现象

此条命令可以显示这类镜像

docker images -f dangling=true

我们可以用下面命令删除此类镜像

docker rmi $(docker images -q -f dangling=true)

中间层镜像

与虚悬镜像不同,她是其它一些镜像的依赖镜像不可删除,删除的话可能导致一些依赖丢失从而出错。相同的层只会存一遍,所以它们的存在对你来说没有什么影响

docker images -a 

我现在想查看我在ubuntu:16.04 这个镜像之后pull的镜像

docker images -f since=ubuntu:16.04

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nest_console        latest              04aeff17b50c        3 hours ago         531.4 MB
nest_php            latest              c230b821f887        4 hours ago         504.4 MB
centos              latest              67591570dd29        3 days ago          191.8 MB

-f 是--filter的简写。 如果想看到某个位置之前的镜像 可以将since换成 before

docker images -f before=ubuntu:16.04

当然也可以通过LABEL来进行过滤

docker images -f label=com.example.version=0.1

我们先去创建并启动一个容器并监听本地端口8080

docker run --name webnginx -d -p8080:80 nginx

通过终端方式进入 webnginx 容器

docker exec -it webnginx bash

使用命令修改nginx的数据内容:

echo "<h1>hello fanxiao2</h1>" >/usr/share/nginx/html/index.html

我们修改了文件,于是乎也动用了容器的存储层,使用命令可以查看具体改动

docker diff webnginx
C /root
A /root/.bash_history
C /run
A /run/nginx.pid
C /usr
C /usr/share
C /usr/share/nginx
C /usr/share/nginx/html
C /usr/share/nginx/html/index.html
C /var
C /var/cache
C /var/cache/nginx
A /var/cache/nginx/client_temp
A /var/cache/nginx/fastcgi_temp
A /var/cache/nginx/proxy_temp
A /var/cache/nginx/scgi_temp
A /var/cache/nginx/uwsgi_temp
本作品采用《CC 协议》,转载必须注明作者和本文链接
每一天都要进步一点点!
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 2
hellloveyy

前一段时间看过最近快忘了,温习一下

6年前 评论

怎么映射本地目录到容器目录?不用进容器修改文件

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!