安装 Docker

在 Ubuntu 系统中安装 Docker 可以通过官方仓库完成。确保系统已更新到最新状态,运行以下命令:

sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) 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 安装

安装完成后,通过运行一个简单的容器来验证 Docker 是否正常工作:

sudo docker run hello-world

如果看到类似“Hello from Docker!”的输出,说明 Docker 已成功安装并运行。

管理 Docker 服务

Docker 安装后会自动启动,可以通过以下命令管理其服务状态:

sudo systemctl start docker    # 启动 Docker
sudo systemctl stop docker     # 停止 Docker
sudo systemctl restart docker  # 重启 Docker
sudo systemctl enable docker   # 设置开机自启

配置非 root 用户权限

默认情况下,Docker 需要 sudo 权限才能运行命令。为了避免每次输入 sudo,可以将当前用户添加到 docker 用户组:

sudo usermod -aG docker $USER
newgrp docker

重新登录后,可以直接运行 docker 命令而无需 sudo

安装 Docker Compose

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过以下命令安装:

sudo curl -L "https://github.com/docker/compose/releases/download/v2.3.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

验证安装是否成功:

docker-compose --version

配置镜像加速

国内用户可以通过配置镜像加速器提升 Docker 镜像下载速度。编辑或创建 /etc/docker/daemon.json 文件,添加以下内容:

{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

重新加载配置并重启 Docker:

sudo systemctl daemon-reload
sudo systemctl restart docker

常用命令示例

以下是一些常用的 Docker 命令:

docker ps                  # 查看运行中的容器
docker ps -a               # 查看所有容器
docker images              # 列出本地镜像
docker pull <image>        # 拉取镜像
docker rmi <image>         # 删除镜像
docker rm <container>      # 删除容器
docker stop <container>    # 停止容器
docker start <container>   # 启动容器

常见问题排查

如果遇到权限问题,确保当前用户已添加到 docker 用户组。如果镜像拉取缓慢,检查镜像加速器配置是否正确。遇到其他问题时,可以查阅 Docker 官方文档或社区支持。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐