您好,登录后才能下订单哦!
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
本文将详细介绍如何在 CentOS 系统上搭建和部署 Docker 环境。
在开始之前,确保你已经具备以下条件:
首先,更新系统以确保所有软件包都是最新的。
sudo yum update -y
安装一些必要的软件包,这些软件包将在后续步骤中使用。
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
Docker 官方提供了一个 YUM 仓库,我们可以通过以下命令将其添加到系统中。
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
添加仓库后,我们可以使用以下命令安装 Docker 引擎。
sudo yum install -y docker-ce docker-ce-cli containerd.io
安装完成后,启动 Docker 服务并设置为开机自启。
sudo systemctl start docker
sudo systemctl enable docker
为了确保 Docker 已经正确安装并运行,可以运行以下命令来验证。
sudo docker --version
如果安装成功,你将看到类似以下的输出:
Docker version 20.10.7, build f0df350
由于 Docker 官方镜像仓库位于国外,国内访问速度较慢,因此我们可以配置国内的镜像加速器来提升镜像拉取速度。
编辑 Docker 的配置文件 /etc/docker/daemon.json
,如果文件不存在则创建它。
sudo vi /etc/docker/daemon.json
在文件中添加以下内容:
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
保存并退出后,重启 Docker 服务以使配置生效。
sudo systemctl daemon-reload
sudo systemctl restart docker
默认情况下,只有 root 用户和 docker 组的用户才能运行 Docker 命令。为了避免每次使用 Docker 时都需要使用 sudo
,我们可以将当前用户添加到 docker
组中。
sudo usermod -aG docker $USER
为了使组更改生效,你需要注销并重新登录,或者使用以下命令:
newgrp docker
Docker 支持多种存储驱动,如 overlay2
、aufs
、btrfs
等。overlay2
是目前推荐的存储驱动,适用于大多数场景。
要配置 Docker 使用 overlay2
存储驱动,编辑 /etc/docker/daemon.json
文件:
sudo vi /etc/docker/daemon.json
添加以下内容:
{
"storage-driver": "overlay2"
}
保存并退出后,重启 Docker 服务。
sudo systemctl daemon-reload
sudo systemctl restart docker
Docker 镜像是容器的基础,你可以从 Docker Hub 或其他镜像仓库拉取镜像。例如,拉取官方的 nginx
镜像:
docker pull nginx
拉取镜像后,可以使用 docker run
命令来运行容器。例如,运行一个 nginx
容器:
docker run -d -p 80:80 --name my-nginx nginx
-d
:表示在后台运行容器。-p 80:80
:将主机的 80 端口映射到容器的 80 端口。--name my-nginx
:为容器指定一个名称。使用以下命令查看正在运行的容器:
docker ps
如果要查看所有容器(包括已停止的),可以使用:
docker ps -a
停止一个正在运行的容器:
docker stop my-nginx
启动一个已停止的容器:
docker start my-nginx
有时你可能需要进入容器内部进行操作,可以使用以下命令:
docker exec -it my-nginx /bin/bash
删除一个已停止的容器:
docker rm my-nginx
如果要删除正在运行的容器,需要先停止它:
docker stop my-nginx
docker rm my-nginx
删除一个不再需要的镜像:
docker rmi nginx
Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过一个 docker-compose.yml
文件,你可以配置应用程序的服务、网络和卷等。
在 CentOS 上安装 Docker Compose,可以使用以下命令:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
验证安装:
docker-compose --version
创建一个 docker-compose.yml
文件,例如:
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: example
使用以下命令启动服务:
docker-compose up -d
停止服务:
docker-compose down
如果 Docker 服务无法启动,可以查看日志以获取更多信息:
sudo journalctl -u docker.service
如果镜像拉取失败,可能是由于网络问题。可以尝试更换镜像加速器或手动拉取镜像。
如果容器无法访问外部网络,可能是由于防火墙或网络配置问题。可以检查防火墙规则或 Docker 的网络配置。
通过本文,你已经学会了如何在 CentOS 系统上搭建和部署 Docker 环境,并掌握了 Docker 的基本使用方法。Docker 是一个强大的工具,可以帮助你轻松地部署和管理应用程序。希望本文对你有所帮助,祝你在使用 Docker 的过程中顺利愉快!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。