centos怎么搭建部署docker环境

发布时间:2022-07-13 14:13:56 作者:iii
来源:亿速云 阅读:176

CentOS怎么搭建部署Docker环境

1. 前言

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

本文将详细介绍如何在 CentOS 系统上搭建和部署 Docker 环境。

2. 环境准备

在开始之前,确保你已经具备以下条件:

2.1 更新系统

首先,更新系统以确保所有软件包都是最新的。

sudo yum update -y

2.2 安装必要的软件包

安装一些必要的软件包,这些软件包将在后续步骤中使用。

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

3. 安装 Docker

3.1 添加 Docker 仓库

Docker 官方提供了一个 YUM 仓库,我们可以通过以下命令将其添加到系统中。

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3.2 安装 Docker 引擎

添加仓库后,我们可以使用以下命令安装 Docker 引擎。

sudo yum install -y docker-ce docker-ce-cli containerd.io

3.3 启动并启用 Docker 服务

安装完成后,启动 Docker 服务并设置为开机自启。

sudo systemctl start docker
sudo systemctl enable docker

3.4 验证 Docker 安装

为了确保 Docker 已经正确安装并运行,可以运行以下命令来验证。

sudo docker --version

如果安装成功,你将看到类似以下的输出:

Docker version 20.10.7, build f0df350

4. 配置 Docker

4.1 配置 Docker 镜像加速

由于 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

4.2 配置 Docker 用户组

默认情况下,只有 root 用户和 docker 组的用户才能运行 Docker 命令。为了避免每次使用 Docker 时都需要使用 sudo,我们可以将当前用户添加到 docker 组中。

sudo usermod -aG docker $USER

为了使组更改生效,你需要注销并重新登录,或者使用以下命令:

newgrp docker

4.3 配置 Docker 存储驱动

Docker 支持多种存储驱动,如 overlay2aufsbtrfs 等。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

5. 使用 Docker

5.1 拉取镜像

Docker 镜像是容器的基础,你可以从 Docker Hub 或其他镜像仓库拉取镜像。例如,拉取官方的 nginx 镜像:

docker pull nginx

5.2 运行容器

拉取镜像后,可以使用 docker run 命令来运行容器。例如,运行一个 nginx 容器:

docker run -d -p 80:80 --name my-nginx nginx

5.3 查看容器状态

使用以下命令查看正在运行的容器:

docker ps

如果要查看所有容器(包括已停止的),可以使用:

docker ps -a

5.4 停止和启动容器

停止一个正在运行的容器:

docker stop my-nginx

启动一个已停止的容器:

docker start my-nginx

5.5 进入容器

有时你可能需要进入容器内部进行操作,可以使用以下命令:

docker exec -it my-nginx /bin/bash

5.6 删除容器

删除一个已停止的容器:

docker rm my-nginx

如果要删除正在运行的容器,需要先停止它:

docker stop my-nginx
docker rm my-nginx

5.7 删除镜像

删除一个不再需要的镜像:

docker rmi nginx

6. Docker Compose 安装与使用

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过一个 docker-compose.yml 文件,你可以配置应用程序的服务、网络和卷等。

6.1 安装 Docker Compose

在 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

6.2 使用 Docker Compose

创建一个 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

7. 常见问题与解决方案

7.1 Docker 服务无法启动

如果 Docker 服务无法启动,可以查看日志以获取更多信息:

sudo journalctl -u docker.service

7.2 镜像拉取失败

如果镜像拉取失败,可能是由于网络问题。可以尝试更换镜像加速器或手动拉取镜像。

7.3 容器无法访问外部网络

如果容器无法访问外部网络,可能是由于防火墙或网络配置问题。可以检查防火墙规则或 Docker 的网络配置。

8. 总结

通过本文,你已经学会了如何在 CentOS 系统上搭建和部署 Docker 环境,并掌握了 Docker 的基本使用方法。Docker 是一个强大的工具,可以帮助你轻松地部署和管理应用程序。希望本文对你有所帮助,祝你在使用 Docker 的过程中顺利愉快!

推荐阅读:
  1. docker部署LNMP环境
  2. Docker分离环境搭建LNMP并部署Discuz

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

centos docker

上一篇:Python numpy和matlab的差异是什么

下一篇:Python标准库os库的常用功能实例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》