因为最近要在我的阿里云 ECS 上部署软工作业项目,遂借此记录Docker在Linux上的配置过程,以 Ubuntu 22.04 LTS 为例说明
安装添加 Docker 仓库所需的前置软件包:
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
(似乎除apt-transport-https外ubuntu都已自带了…)
使用以下命令下载并导入 Docker 官方的 GPG 密钥:
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
将 Docker 的官方仓库添加到 Ubuntu 22.04 LTS 的软件源列表:
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
刷新软件包列表,以便系统识别新添加的 Docker 仓库:
sudo apt update
执行以下命令来安装最新版本的 Docker,包括 Docker 引擎及其相关组件:
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
安装的组件包括:
docker-ce
:Docker Engine。docker-ce-cli
:用于与 Docker 守护进程通信的命令行工具。containerd.io
:管理容器生命周期的容器运行时环境。docker-buildx-plugin
:增强镜像构建功能的 Docker 扩展工具,特别是在多平台构建方面。docker-compose-plugin
:通过单个 YAML 文件管理多容器 Docker 应用的配置管理插件。
配置用户组(可选):
默认情况下,只有 root 用户或具有 sudo 权限的用户才能够执行 Docker 命令。如果不加sudo前缀直接运行docker命令,系统会报权限错误。我们可以将当前用户添加到docker组,以避免每次使用Docker时都需要使用sudo。命令如下:
sudo usermod -aG docker ${USER}
(注:重新登录才能使更改生效)
我们可以通过启动docker来验证我们是否成功安装。命令如下:
sudo systemctl start docker
重启docker
sudo service docker restart
使用以下命令检查 Docker 的运行状态:
sudo systemctl is-active docker
替换 DockerHub 国内镜像源:
sudo vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://mirror.baidubce.com",
"http://hub-mirror.c.163.com",
"https://docker.nju.edu.cn"
]
}
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo docker info
运行 hello-world 测试容器,验证 Docker 是否安装成功并正常工作:(因为我们之前没有拉取过hello-world,所以运行命令后会出现本地没有该镜像,并且会自动拉取的操作)
sudo docker run hello-world
我们可以通过下面的命令来查看docker的版本
sudo docker version
上面我们拉取了hello-world的镜像,现在我们可以通过命令来查看镜像,命令如下:
sudo docker images
查看镜像列表 docker images
删除镜像(xxx指镜像前三个id字母,需要先停止容器运行,并删除容器) docker rmi xxx
(可加-f
强制删除)
查看Docker运行中的容器 docker ps
查看所有容器(包括未运行的) docker ps -a
停止容器运行 docker stop f66
删除容器(可加-f
强制删除) docker rm container_id
重启容器 docker restart <容器ID>
本地传文件到容器:docker cp 本地文件路径 ID全称:容器路径
容器传文件到本地:docker cp ID全称:容器文件路径 本地路径
要从 Ubuntu 22.04 LTS 中卸载 Docker,可以按照以下步骤操作:
sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
docker中 启动所有的容器命令
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
docker中 关闭所有的容器命令
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
docker中 删除所有的容器命令
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)
docker中 删除所有的镜像
docker rmi $(docker images | awk '{print $3}' |tail -n +2)