官网:Docker: Accelerated Container Application Development
docker,docker,docker.多年过去,本想与你再无交集,奈何苍天弄人,还得再上你的贼船……
# 1、镜像相关 # 列出本地主机上的镜像 docker images # 拉取镜像 docker pull xxx # [强制 -f]删除一个或多个镜像 docker rmi -f xxx yyy zzz # 删除所有已标记的镜像(docker images -q 会列出所有镜像的ID) docker rmi $(docker images -q) # 删除所有未使用的镜像,包括未标记的镜像(-a 参数表示删除所有未使用的镜像,而不仅仅是悬空的镜像) docker image prune -a # 2、容器相关 # 列出当前正在运行的容器(添加 -a 列出所有容器,包括未运行的) docker ps # 运行一个新的容器实例 # -d 表示以 detached 模式运行容器,-p 80:80 表示将容器的 80 端口映射到宿主机的 80 端口,--name nginx001 为容器指定一个名称。 docker run -d -p 80:80 --name nginx001 nginx # 停止一个或多个正在运行的容器 docker stop nginx001 # 停止所有容器 docker stop $(docker ps -aq) # 启动一个或多个已经停止的容器 docker start nginx001 # 删除所有已停止的容器(不会影响正在运行的容器) docker container prune # [强制 -f]删除一个或多个容器 docker rm -f nginx001 nginx002 # [强制 -f]删除所有正在运行和已停止的容器 docker rm -f $(docker ps -aq) # 在运行的容器中执行命令(-it 提供一个交互式的终端) docker exec -it nginx001 /bin/bash # 获取容器的日志输出 # -f 实时输出日志信息 # -n 或 --lines:仅显示最后几行日志 # --since 仅显示自给定时间以来的日志 docker logs nginx001 # 3、其他 # 下面命令不仅会删除所有未使用的镜像,还会删除所有未使用的容器、网络和可选地,使用 --volumes 参数还可以删除未使用的卷 docker system prune -a
这里讲述一下
# 卸载安装的程序 sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras # 删除 images, containers, and volumes sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd # 删除 apt 源相关 sudo rm -rf /etc/apt/keyrings sudo rm -rf /etc/apt/sources.list.d/docker.list # 删除 docker 用户组 sudo groupdel docker
# 添加 GPG key sudo apt update sudo apt install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL http://mirrors.huaweicloud.com/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # 添加仓储到 apt 源: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] http://mirrors.huaweicloud.com/docker-ce/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update # 安装 sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
上图中使用
# 判断 docker 用户组是否存在 # 查看用户组列表 cat /etc/group # 搜索特定的用户组 grep 'docker:' /etc/group # 添加 docker 用户组 sudo groupadd docker # 删除 docker 用户组 sudo groupdel docker # 添加当前用户到docker组( ${USER}是一个环境变量,代表当前登录的用户名 ) # 如果你需要为另一个用户添加权限,将${USER}替换为那个用户的用户名。 sudo usermod -aG docker ${USER} # 为了使组变更生效,你需要注销并重新登录,或者重新启动你的终端,可以通过以下命令重新加载组 exec sg docker # 或者 newgrp docker
干啥都得镜像啊,当然也少不了
{ "registry-mirrors": [ "https://mirror.baidubce.com", "https://ccr.ccs.tencentyun.com", "https://dockerproxy.com", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn" ] }
你可能需要先修改一下目录的权限
# 如果不存在 daemon.json 文件 sudo chmod -R 777 /etc/docker # 直接修改文件权限 sudo chmod -R 777 /etc/docker/daemon.json
修改之后需要重启一下服务