一、Ubuntu 20.04 上安装 Docker
在 Ubuntu 20.04 上安装 Docker 可以通过几种不同的方法完成,其中最简单和最常见的方法是使用 Docker 的官方安装脚本,或者通过 Ubuntu 的包管理工具 apt
手动安装。这里我将介绍两种方法:使用 Docker 的便捷安装脚本和使用 apt
手动安装。
方法1:使用 Docker 的便捷安装脚本
这个方法是最快捷的,适用于快速设立一个开发环境。但注意,官方脚本会添加 Docker 的官方仓库到你的系统中,适合信任 Docker 仓库的场景。
-
更新你的包索引:
sudo apt update
-
安装必要的包:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
-
下载 Docker 的官方安装脚本并执行:
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh
-
添加当前用户到 Docker 组(可选):
sudo usermod -aG docker ${USER}
为了使这个改变生效,你可能需要登出并重新登录。这步操作让你能够不使用
sudo
命令来运行 Docker。 -
验证安装:
docker version
此命令应当显示 Docker 客户端和服务端的版本信息,说明 Docker 已正确安装。
方法2:使用 apt
手动安装
这个方法稍微复杂一些,但它让你对安装过程有更多的控制,尤其是在生产环境中推荐使用。
-
更新你的包索引:
sudo apt update
-
安装包以允许
apt
通过 HTTPS 使用仓库:sudo apt install apt-transport-https ca-certificates curl software-properties-common
-
添加 Docker 的官方 GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
-
设置 Docker 稳定版仓库:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
-
再次更新你的包索引(现在包含 Docker 的仓库):
sudo apt update
-
安装 Docker Engine:
sudo apt install docker-ce docker-ce-cli containerd.io
-
添加当前用户到 Docker 组(可选):
sudo usermod -aG docker ${USER}
同样,为了使这个改变生效,你可能需要登出并重新登录。
-
启动 Docker 服务(如果没有自动启动的话):
sudo systemctl start docker
-
设置 Docker 服务自动启动:
sudo systemctl enable docker
-
验证安装:
docker version
运行这个命令应当显示 Docker 客户端和服务端的版本,证明 Docker 已正确安装。
验证 Docker 是否正确安装
无论使用哪种方法安装,都可以通过运行一个测试容器来验证 Docker 是否正确安装和配置:
docker run hello-world
这个命令会下载一个测试用的镜像并在容器中运行。如果一切设置正确,它会输出一段欢迎信息。
以上两种方法可以根据你对安装过程控制级别的需求来选择使用。
二、Docker命令示例
下面将详细解释一些常用的 Docker 命令,并附上示例来说明它们的用法。
1. docker pull
用于从仓库拉取或者更新指定的镜像。
示例:
docker pull ubuntu:18.04
这条命令会从 Docker Hub 拉取 Ubuntu 18.04 的官方镜像。
2. docker run
创建一个新的容器并运行一个命令。
示例:
docker run -it --name test ubuntu:18.04 /bin/bash
这会启动一个名为 test
的容器,基于 ubuntu:18.04
镜像,并开启一个交互式终端(-it
),运行 /bin/bash
。
3. docker ps
列出当前正在运行的容器。
示例:
docker ps
显示所有活跃的容器。
示例:
docker ps -a
显示所有容器,包括未运行的。
4. docker stop
停止一个运行中的容器。
示例:
docker stop test
这会停止名为 test
的容器。
5. docker start
启动一个已经生成、已停止运行的容器。
示例:
docker start test
这会重新启动名为 test
的容器。
6. docker rm
删除一个或多个容器。
示例:
docker rm test
这会删除名为 test
的容器。使用 -f
参数可以强制删除正在运行的容器。
7. docker images
列出本地的所有镜像。
示例:
docker images
8. docker rmi
删除一个或多个镜像。
示例:
docker rmi ubuntu:18.04
删除本地的 ubuntu:18.04
镜像。
9. docker build
根据 Dockerfile 创建镜像。
示例:
docker build -t myimage:latest .
这条命令会使用当前目录的 Dockerfile 来构建一个标记为 myimage:latest
的镜像。
10. docker logs
获取容器的日志。
示例:
docker logs test
显示名为 test
的容器的日志。
11. docker exec
在运行的容器中执行命令。
示例:
docker exec -it test /bin/bash
这条命令会在名为 test
的容器中启动一个 bash 会话。
12. docker network create
创建一个新的网络。
示例:
docker network create my-net
创建一个名为 my-net
的网络。
13. docker network ls
列出所有网络。
示例:
docker network ls
14. docker attach
连接到正在运行的容器。
示例:
docker attach test
这会连接到名为 test
的容器。