目录
1.在 Ubuntu 上安装 Docker
1. 1 更新软件包
1. 2 安装必要的依赖
1.3 添加 Docker 的 GPG 密钥
1.4 添加 Docker 仓库
1.5 更新软件包
1.6 安装 Docker
1.7 启动并启用 Docker 服务
1.8 验证安装
1.9 运行测试容器
1.10 非 root 用户运行 Docker
2.在 CentOS 上安装 Docker
2.1 更新软件包
2.2 安装必要的依赖
2.3 添加 Docker 仓库
2.4 安装 Docker
2.5 启动并启用 Docker 服务
2.6 验证安装
2.7 运行测试容器
2.8 非 root 用户运行 Docker
3.在 CentOS 9 上安装 Docker (使用 dnf)
3.1 更新软件包
3.2 安装必要的依赖
3.3 添加 Docker 仓库
3.4 安装 Docker
3.5 启动并启用 Docker 服务
3.6 验证安装
3.7 运行测试容器
3.8 非 root 用户运行 Docker
4.在 openEuler 上安装 Docker
4.1 更新软件包
4.2 安装 Docker
4.3 启动并启用 Docker 服务
4.4 验证安装
4.5 运行测试容器
4.6 非 root 用户运行 Docker
5.配置国内镜像源(加速)
5.1 创建或编辑 /etc/docker/daemon.json 文件
5.2 重新启动 Docker 服务
6.示例:构建一个简单的 Nginx 镜像
6.1 创建项目目录
6.2 创建 Dockerfile
6.3 index.html
6.4 构建 Docker 镜像
6.5 验证镜像
6.6 运行容器
1.在 Ubuntu 上安装 Docker
1. 1 更新软件包
sudo apt-get update
1. 2 安装必要的依赖
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
1.3 添加 Docker 的 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 阿里云的,上下选一个
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
1.4 添加 Docker 仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"sudo add-apt-repository "deb [arch=amd64]
# 推荐使用国内仓库(阿里云)
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
1.5 更新软件包
这一步可以跳过的,也可以更新一下
sudo apt-get update
1.6 安装 Docker
sudo apt-get install -y docker-ce
1.7 启动并启用 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
1.8 验证安装
sudo docker --version
1.9 运行测试容器
sudo docker run hello-world
1.10 非 root 用户运行 Docker
sudo usermod -aG docker $USER
然后注销并重新登录以使更改生效,或者重启一下。
2.在 CentOS 上安装 Docker
2.1 更新软件包
sudo yum update -y
2.2 安装必要的依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2.3 添加 Docker 仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 推荐使用国内仓库(阿里云)
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.4 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
2.5 启动并启用 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
2.6 验证安装
sudo docker --version
2.7 运行测试容器
sudo docker run hello-world
2.8 非 root 用户运行 Docker
sudo usermod -aG docker $USER
然后注销并重新登录以使更改生效。
3.在 CentOS 9 上安装 Docker (使用 dnf)
centos9中实际使用的是dnf,但是yum和他做了链接,也可以使用yum。
3.1 更新软件包
sudo dnf update -y
3.2 安装必要的依赖
sudo dnf install -y dnf-plugins-core
3.3 添加 Docker 仓库
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 推荐使用国内仓库(阿里云)
sudo dnf config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.4 安装 Docker
sudo dnf install -y docker-ce docker-ce-cli containerd.io
3.5 启动并启用 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
3.6 验证安装
sudo docker --version
3.7 运行测试容器
sudo docker run hello-world
3.8 非 root 用户运行 Docker
sudo usermod -aG docker $USER
然后注销并重新登录以使更改生效。
4.在 openEuler 上安装 Docker
4.1 更新软件包
sudo dnf update
4.2 安装 Docker
sudo dnf install docker
4.3 启动并启用 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
4.4 验证安装
sudo docker --version
4.5 运行测试容器
sudo docker run hello-world
4.6 非 root 用户运行 Docker
sudo usermod -aG docker $USER
然后注销并重新登录以使更改生效。
5.配置国内镜像源(加速)
如果下载太慢,为了提高下载速度,可以配置 Docker 使用国内镜像源,比如阿里云镜像。以下是在 /etc/docker/daemon.json
文件中添加国内镜像源的方法:
5.1 创建或编辑 /etc/docker/daemon.json
文件
sudo vim /etc/docker/daemon.json
添加以下内容
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
5.2 重新启动 Docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker
6.示例:构建一个简单的 Nginx 镜像
假设我们有一个简单的 Dockerfile,用于构建一个带有自定义 HTML 文件的 Nginx 镜像。
6.1 创建项目目录
首先,创建一个目录来存放 Dockerfile 和其他相关文件:
mkdir my-nginx
cd my-nginx
6.2 创建 Dockerfile
在项目目录中创建一个名为 Dockerfile
的文件,并添加以下内容:
# 如果没有vim,先下载一下
sudo apt install vimvim Dockerfile
添加下面内容:
# 使用官方的 Nginx 基础镜像
FROM nginx:latest# 维护者信息
LABEL maintainer="you@example.com"# 将自定义的 HTML 文件复制到 Nginx 默认的 HTML 目录
COPY index.html /usr/share/nginx/html/# 暴露端口 80
EXPOSE 80# 启动 Nginx 服务
CMD ["nginx", "-g", "daemon off;"]
6.3 index.html
在同一目录中创建一个名为 index.html
的文件,并添加一些简单的 HTML 内容:
vim index.html
<!DOCTYPE html>
<html>
<head>
<title>Welcome to My Nginx!</title>
</head>
<body>
<h1>Hello, Docker!</h1>
<p>This is a custom Nginx server.</p>
</body>
</html>
6.4 构建 Docker 镜像
在终端中运行以下命令来构建 Docker 镜像:
docker build -t my-nginx:custom .
在这个命令中:
-t my-nginx:custom
指定了镜像的名称为my-nginx
,标签为custom
。.
指定了 Dockerfile 的路径为当前目录。
6.5 验证镜像
构建完成后,可以通过以下命令验证镜像是否成功创建:
docker images
你应该会看到类似以下的输出:
6.6 运行容器
最后,可以使用以下命令运行一个基于新镜像的容器:
docker run -d -p 8080:80 my-nginx:custom
在这个命令中:
-d
后台运行容器。-p 8080:80
将主机的 8080 端口映射到容器的 80 端口。
现在,你可以在浏览器中访问 http://localhost:8080
,应该会看到你自定义的 HTML 页面。
这个示例演示了如何使用 Dockerfile 构建一个新的 Nginx 镜像,并运行一个容器来验证镜像。