Skip to main content
  1. Posts/

Docker 使用笔记

安装 #

Ubuntu 系统 #

安装依赖 #

apt update
apt install ca-certificates curl gnupg -y

添加仓库 #

install -m 0755 -d /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg

chmod a+r /etc/apt/keyrings/docker.gpg

echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  tee /etc/apt/sources.list.d/docker.list > /dev/null

安装主体 #

apt update 
apt install docker-ce docker-ce-cli containerd.io -y

卸载 #

# 卸载旧版本
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

# 卸载新版本
apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

CentOS #

安装依赖 #

yum install -y yum-utils

添加仓库 #

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装主体 #

yum install docker-ce docker-ce-cli containerd.io -y

卸载 #

# 卸载旧版本
yum remove docker \
  docker-client \
  docker-client-latest \
  docker-common \
  docker-latest \
  docker-latest-logrotate \
  docker-logrotate \
  docker-engine

rm -rf /etc/systemd/system/docker.service.d
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
rm -rf /var/run/docker

# 卸载新版本
yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras -y
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

启动及开机启动 #

systemctl start docker
systemctl enable docker

为非 Root 用户添加 docker 的使用权限 #

# 在登录相应用户下
sudo usermod -aG docker $USER

验证是否安装成功 #

docker run hello-world

常用命令 #

容器 #

# 启动容器
docker start Name/ID

# 停止容器
docker stop Name/ID

# 杀死容器
docker kill Name/ID

# 删除容器
docker rm Name/ID

# 显示正在运行的容器:
docker ps

# 显示全部容器:
docker ps -a

# 进入容器
docker exec -it Name/ID /bin/bash
docker exec -it Name/ID /bin/sh

镜像 #

# 检索 image
docker search image-name

# 下载 image
docker pull image-name

# 上传 image
docker push image-name

# 显示全部镜像:
docker images

# 删除镜像
docker rmi ID

保存和加载镜像 #

# 保存镜像到一个 tar 包
docker save image-name -o file-path

# 加载一个 tar 包格式的镜像
docker load -i file-path

清理 #

# 空间占用
docker system df

# 清理未使用image
docker image prune

# 清理已经停止的容器
docker container prune

# 清理不再使用的数据卷
docker volume prune

# 清理Build Cache
docker builder prune

# 清理所有
docker system prune