Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及应用的依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。在 Fedora 系统上安装 Docker 非常简单,本文将带领大家一步步完成 Docker 的安装,并快速开始容器化之旅。
1. 准备工作
在开始之前,请确保你的 Fedora 系统满足以下要求:
- 操作系统:Fedora 28 或更高版本
- 系统架构:64 位
- 网络连接:确保系统可以连接到互联网
2. 安装 Docker
在 Fedora 系统上安装 Docker 有两种方法:使用 Docker CE(社区版)或 Docker EE(企业版)。这里我们以 Docker CE 为例进行安装。
2.1 安装 Docker CE
- 打开终端。
- 执行以下命令添加 Docker CE 的仓库:
sudo dnf -y install dnf-plugins-core
- 添加 Docker CE 的仓库:
sudo dnf config-manager \
--add-repo \
https://download.docker.com/linux/fedora/docker-ce.repo
- 安装 Docker CE:
sudo dnf -y install docker-ce docker-ce-cli containerd.io
- 启动 Docker 服务:
sudo systemctl start docker
- 设置 Docker 服务开机自启:
sudo systemctl enable docker
- 验证 Docker 安装:
sudo docker --version
如果看到 Docker 的版本信息,说明 Docker 已成功安装。
2.2 安装 Docker EE
如果你需要 Docker EE,请按照以下步骤操作:
- 访问 Docker EE 的官方网站:https://www.docker.com/products/ee
- 注册并登录 Docker EE。
- 根据你的 Fedora 版本和系统架构,下载 Docker EE 的安装包。
- 安装 Docker EE:
sudo dnf install <下载的 Docker EE 安装包>
- 启动 Docker EE 服务:
sudo systemctl start docker
- 设置 Docker EE 服务开机自启:
sudo systemctl enable docker
3. 使用 Docker
现在 Docker 已成功安装,接下来我们可以使用 Docker 来创建和运行容器。
3.1 运行 Hello World 容器
- 打开终端。
- 执行以下命令运行 Hello World 容器:
sudo docker run hello-world
如果一切顺利,你将看到以下输出:
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker daemon forked a new container.
2. Executed the 'hello-world' image in that container.
3. Copied the output from that container to this screen.
To try something more ambitious, you can run:
docker run -it ubuntu /bin/bash
这表示 Docker 已成功运行了一个容器。
3.2 创建自己的容器
现在你已经了解了如何运行容器,接下来我们可以创建自己的容器。
- 创建一个名为
myapp的容器,其中包含一个简单的 Web 应用:
sudo docker run -d -p 8080:80 --name myapp nginx
这里,-d 表示以守护进程模式运行容器,-p 表示将容器的 80 端口映射到宿主机的 8080 端口,--name 表示为容器指定名称,nginx 表示使用 Nginx 容器。
- 访问宿主机的 8080 端口,你将看到 Nginx 的默认页面。
4. 总结
通过以上步骤,你已经在 Fedora 系统上成功安装了 Docker,并开始使用 Docker 进行容器化。Docker 为开发者提供了一个简单、高效、可移植的容器化解决方案,可以帮助你轻松构建、测试和部署应用程序。希望本文能帮助你快速上手 Docker,开启你的容器化之旅。