Docker帮助
Buzzing

拉取

docker pull ubuntu

列出镜像

docker image list

启动

docker run -it --name "name" IMAGE_ID

文件映射

docker run -it --name "name" -v LOCAL:DOCKER IMAGE_ID

容器

列出(-q 仅列出 ID)

docker psdocker ps -a

启动/停止/杀死/重启

docker start/stop/kill/restart CONTAINER_ID

停止所有容器

docker stop $(docker ps -aq)

删除所有的容器(-f 强制)

docker rm $(docker ps -aq)

删除所有停止的容器

docker container prune

删除不使用的镜像

docker image prune

删除所有的镜像

docker rmi $(docker images -q)

进入

  1. exec

进入容器并开启一个新终端,退出不会停止容器

docker exec -it CONTAINER_ID /bin/bash

  1. attach

进入容器正在执行的终端,不会启动新的进程,退出但不停止容器使用 Ctrl+P+Q

docker attach CONTAINER_ID

提交

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

OPTIONS

  • a 提交的镜像作者
  • c 使用Dockerfile指令来创建镜像
  • m 提交时的说明文字
  • p 在commit时,将容器暂停

栗子

1
2
3
4
5
6
7
8
9
10
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c61772e4dc91 5f "/bin/bash" 19 minutes ago Exited (1) 5 seconds ago ubuntu

$ docker commit -a "buzzing" -m "message" c6 ubuntu2204:v1
sha256:9fa2188e19bfcd357f7fc5debcc793b5e18c4fd628fc3182120b9273cb12a1bf

$ docker image list
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu2204 v1 9fa2188e19bf 40 seconds ago 2.54GB

代理

修改 /etc/docker/daemon.json

1
2
3
4
5
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
]
}

重启服务

1
2
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

推送与私有仓库

  1. 登录
1
$ docker login --username=buuzzing registry.cn-hangzhou.aliyuncs.com
  1. 拉取
1
2
3
$ docker pull registry.cn-hangzhou.aliyuncs.com/buzzing/ubuntu-dind:[镜像版本号]
# 当前已有20.04版本
$ docker pull registry.cn-hangzhou.aliyuncs.com/buzzing/ubuntu-dind:focal-26.1.3
  1. 推送
1
2
3
$ docker login --username=buuzzing registry.cn-hangzhou.aliyuncs.com
$ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/buzzing/ubuntu-dind:[镜像版本号]
$ docker push registry.cn-hangzhou.aliyuncs.com/buzzing/ubuntu-dind:[镜像版本号]

打包与加载

将镜像打包

1
docker save -o xxx.tar xxx:v1.0.0

加载打包文件到镜像

1
docker load -i xxx.tar
由 Hexo 驱动 & 主题 Keep
本站由 提供部署服务