type
status
date
slug
summary
tags
category
icon
password
Last edited time
Aug 12, 2024 04:26 PM
Docker配置及常用命令
📝 主旨内容
镜像(images)
操作 | 命令 |
拉取一个镜像 | docker pull ubuntu:20.04 |
列出本地所有镜像 | docker images |
删除镜像 | docker rmi ubuntu:20.04 |
创建某个 container 的镜像 | docker commit CONTAINER IMAGE_NAME:TAG |
将镜像导出到本地文件 | docker save -o ubuntu_20_04.tar ubuntu:20.04 |
将镜像从本地文件中加载出来 | docker load -i ubuntu_20_04.tar |
修改镜像 tag | docker tag image:v1 username/image:v2 |
提交镜像到dockerhub | docker push username/image:v2 需要提前登录 docker login |
容器(container)
操作 | 命令 |
利用镜像创建一个容器 | docker create -it ubuntu:20.04 |
查看本地的所有容器 | docker ps -a |
启动容器 | docker start CONTAINER |
停止容器 | docker stop CONTAINER |
重启容器 | docker restart CONTAINER |
创建并启动一个容器 | docker run -itd ubuntu:20.04 |
进入容器 | docker exec -it CONTAINER /bin/sh 或 /bin/bash |
在容器中执行命令 | docker exec CONTAINER COMMAND |
删除容器 | docker rm CONTAINER |
删除所有已停止的容器 | docker container prune |
将容器 CONTAINER 导出到本地文件xxx.tar 中 | docker export -o xxx.tar CONTAINER |
将本地文件 xxx.tar 导入成镜像,并将镜像命名为image_name:tag | docker import xxx.tar image_name:tag |
查看某个容器内的所有进程 | docker top CONTAINER |
查看所有容器的统计信息,包括CPU、内存、存储、网络等信息 | docker stats |
在本地和容器间复制文件 | docker cp xxx CONTAINER:/aa/bb 或 docker cp CONTAINER:/aa/bb xxx |
重命名容器 | docker rename CONTAINER1 CONTAINER2 |
修改容器限制 | docker update CONTAINER --memory 500MB |
挂起容器 | 先按 Ctrl-p ,再按Ctrl-q |
查看容器日志 | docker logs -f CONTAINER |
docker export/import
与docker save/load
的区别:
export/import
会丢弃历史记录和元数据信息,仅保存容器当时的快照状态
save/load
会保存完整记录,体积更大docker attach
当多个窗口同时使用该命令进入该容器时,所有的窗口都会同步显示。如果有一个窗口阻塞了,那么其他窗口也无法再进行操作。docker exec
如果出现OCI runtime exec failed: exec failed: container_linux.go:345: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory": unknown
这样的错误,是我们docker镜像中的/bin/bash文件并不存在,可能存在的是/bin/sh文件,使用docker exec -it Container /bin/sh
🤗 总结归纳
📎 参考文章
- 作者:ziuch
- 链接:https://ziuch.com/article/Docker-common-commands
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。