0%
容器操作
- docker ps -> 运行着的容器
- docker ps -a -> 所有容器包括停止的
- docker run
[-d#后台运行#]
[–name=<容器名称>]
[-rm#停止后清理容器#]
[-p #打开端口<3000/tcp|4000/udp>#]
[-e <环境变量>]
<镜像名称>:v<镜像版本>
- docker exec [-it#进行交互#] <容器ID> <shell命令行> -> 执行容器内shell命令
- docker attach <容器ID> -> 不建议用,附加到容器shell
- docker start|stop|restart <容器ID> -> 启动,停止,重启容器
- docker rm $(docker ps -a|grep Created|awk ‘{print $1}’) -> 删除启动失败的容器
镜像操作
- docker commit [-a “作者名称”] [-m “信息说明”] <容器ID> <镜像名称>:v<镜像版本> -> 将容器提交成镜像
- docker images -> 查看当前所有镜像
- docker save -o <镜像名称>-v<镜像版本>.tar <镜像名称>:v<镜像版本> -> 打包镜像为tar压缩格式
- docker load -i <镜像名称>-v<镜像版本>.tar -> 解压缩镜像tar并导入
- docker system df -v -> 查看镜像占用磁盘
- docker export -o <镜像名称>.tar <容器ID> -> 直接从容器导出镜像,避免多次commit后镜像的越来越大
- docker import <通过export导出的tar文件> <镜像名称>:v<镜像版本> -> 通过export 导出的镜像必须通过import导入
其他命令
- docker system prune –volumes -> save失败后可以清理缓存
- docker system prune -a -> 那条上面不管用可以用这条全部清理,镜像和容器都会丢失
- dockerd –iptables=false -> 在wsl下运行会报错,使用这个禁止防火墙
ubuntu20.4安装docker
- apt-get install ca-certificates curl gnupg lsb-release
- mkdir -p /etc/apt/keyrings
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg –dearmor -o /etc/apt/keyrings/docker.gpg
- echo “deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable” | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- apt-get update
- apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin