文章目录
1. 镜像
1. 拉取镜像
docker image pull <repository>:<tag>
例如:
docker image pull alpine:latest
如果不加tag标签,则会默认拉取标签为latest
的镜像
2. 查看镜像
查看docker中的镜像有哪些
docker image ls
查看镜像的SHA256签名
docker image ls --digests
过滤docker image列表
使用 --filter
过滤
过滤的参数有:
dangling true/flase: 是否返回悬虚镜像,true,返回悬虚镜像;false,返回非悬虚镜像
before 镜像名称/ID:返回该镜像之前的所有镜像
since 镜像名称/ID: 返回该镜像之后的所有镜像
label 标注名: 根据标签名或者值对标签进行过滤
reference: 其它过滤方式
例如:
筛选所有悬虚镜像
docker image ls --filter dangling=true
筛选所有标签为latest的镜像
docker image ls --filter reference="*:latest"
3. 搜索Docker Hub
搜索所有包含 alpine
的仓库镜像
docker search alpine
查询结果中既包括官方的镜像,也包括非官方的惊醒,过滤出来官方的镜像
docker search alpine --filter "is-official=true"
search默认返回25行结果,可以通过 --limit
指令增加返回内容行数,最大为100行
docker search alpine --limit 100
4. 查看镜像层
查看镜像层
docker image inspect 镜像名
例如:
docker image inspect alpine
一个镜像可能会有多个镜像层构成,docker引擎会维护整个镜像的镜像层对外展示为一个镜像。
例如:alpine/git 镜像,其中就包含了3个镜像层,而alpine镜像只有一个镜像层。
多个镜像之间可以有共享的惊醒层,因为这样可以有效的节省空间并且提升性能。
例如:alpine 镜像,和alpine/git 镜像,就共用了一层镜像层
5. 删除镜像
删除镜像
docker image rm 镜像名/ID
若删除的镜像上有正在运行的容器,则会删除失败
删除所有镜像:windows中需要在PowerShell中执行
docker image rm $(docker image ls -q) -f
2. 容器
1. 启动一个容器
docker container run <options> <image>:<tag> <app>
例如:
docker container run -it alpine sh
启动容器的时候,指定名称为percy
docker container run --name percy -it alpine sh
按Ctrl + PQ 键会退出容器,但是并不会终止容器的运行
启动容器后后台运行服务:
docker container run -d --name webserver -p 80:8080 nigelpoulton/pluralsight-docker-ci
-d:指定后台运行服务
-p 80:8080:指定本地80端口,映射容器的8080端口
2. 暂停一个容器
暂停容器:
docker container pause 容器名/容器ID
2. 查看容器
查看正在运行的容器命令:
docker container ls
查看所有的容器:
docker container ls -a
想要重新连接正在运行的容器,可以通过命令重新连接:
docker container exec -it 容器名称/ID app
例如:
docker container exec -it focused_kalam sh
3. 停止容器运行,并删除容器
停止容器运行
docker container stop 容器ID/容器名
删除容器
docker container rm 容器ID/容器名
强制删除所有容器
docker container rm $(docker container ls -aq) -f
4. 重启策略
重启策略应用于每个容器,可以作为参数被强制传入docker-container run命令中,或者在Compose文件中声明(在使用Docker Compose以及Docker Stacks的情况下)。
容器支持的重启策略包括always、unless-stopped和on-failed。
- always:当容器停止时,总是会重启
- unless-stopped:除非是stopped状态,否则就会重启
- on-failed:当退出容器且返回值不是0的时候,就会重启
启动时当作参数传入:
docker container run --restart always -it alpine sh