HCRM博客

Docker中如何创建和使用CentOS镜像?

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化,CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是免费的、开源的,并且源自 Red Hat Enterprise Linux (RHEL),在 CentOS 上使用 Docker 能够极大地简化软件部署和开发过程,提高系统的可移植性和可扩展性。

Docker 与 CentOS 的结合

1、安装 Docker

Docker中如何创建和使用CentOS镜像?-图1
(图片来源网络,侵权删除)

在 CentOS 上安装 Docker 通常需要先卸载旧版本(如果有),然后添加 Docker 的官方仓库并安装最新版本,具体步骤如下:

     # 卸载旧版本
     sudo yum remove docker \
                  dockerclient \
                  dockerclientlatest \
                  dockercommon \
                  dockerlatest \
                  dockerlatestlogrotate \
                  dockerlogrotate
     # 安装需要的软件包
     sudo yum install y yumutils
     # 设置稳定存储库
     sudo yumconfigmanager addrepo https://download.docker.com/linux/centos/dockerce.repo
     # 安装 Docker Engine
     sudo yum install dockerce dockercecli containerd.io

安装完成后,可以通过sudo systemctl start docker 启动 Docker 服务,并通过sudo systemctl enable docker 设置开机自启。

2、配置 Docker 镜像加速器

由于国内网络问题,拉取 Docker 镜像可能会比较缓慢,因此建议配置 Docker 镜像加速器,可以使用阿里云或网易的镜像加速器:

     # 配置阿里云镜像加速器
     sudo mkdir p /etc/docker
     sudo tee /etc/docker/daemon.json <<'EOF'
     {
       "registrymirrors": ["https://<你的加速器地址>"]
     }
     EOF
     sudo systemctl daemonreload
     sudo systemctl restart docker

3、使用 Docker 运行 CentOS 镜像

可以从 Docker Hub 上拉取 CentOS 的官方镜像,并在本地运行,拉取 CentOS 7 的镜像并运行一个容器:

Docker中如何创建和使用CentOS镜像?-图2
(图片来源网络,侵权删除)
     sudo docker pull centos:7
     sudo docker run it centos:7 /bin/bash

Dockerfile 编写示例

以下是一个简单的 Dockerfile 示例,用于基于 CentOS 镜像创建一个包含常用软件的自定义镜像:

使用 CentOS 7 作为基础镜像
FROM centos:7
维护者信息
LABEL maintainer="your_email@example.com"
更新并安装常用软件
RUN yum makecache fast && \
    yum y update glibc && \
    yum install y opensshserver vim tar wget curl rsync bzip2 iptables tcpdump less telnet nettools lsof && \
    yum clean all
初始化 SSH
RUN sshkeygen t rsa f /etc/ssh/ssh_host_rsa_key N '' && \
    sshkeygen t dsa f /etc/ssh/ssh_host_dsa_key N '' && \
    sshkeygen t ecdsa f /etc/ssh/ssh_host_ecdsa_key N '' && \
    sshkeygen t ed25519 f /etc/ssh/ssh_host_ed25519_key N '' && \
    echo "RSAAuthentication yes" >> /etc/ssh/sshd_config && \
    echo "PubkeyAuthentication yes" >> /etc/ssh/sshd_config
暴露 SSH 端口
EXPOSE 22
启动 SSH 服务
CMD ["/usr/sbin/sshd", "D"]

保存为Dockerfile,然后在包含该文件的目录下运行以下命令构建镜像:

sudo docker build t my_centos_image .

构建完成后,可以使用sudo docker images 查看镜像是否成功创建。

常见问题及解答(FAQs)

问:如何在 CentOS 上卸载 Docker?

答:在 CentOS 上卸载 Docker,可以使用以下命令:

sudo yum remove dockerce dockercecli containerd.io
sudo rm rf /var/lib/docker

注意,这也会删除所有本地的容器、镜像、卷以及相关的数据,请谨慎操作。

Docker中如何创建和使用CentOS镜像?-图3
(图片来源网络,侵权删除)

问:如何在 CentOS 上更改 Docker 的数据根目录?

答:要更改 Docker 的数据根目录,可以编辑或创建/etc/docker/dAEmon.json 文件,并添加或修改以下内容:

{
  "dataroot": "/new/docker/data"
}

然后重启 Docker 服务即可:

sudo systemctl daemonreload
sudo systemctl restart docker

更改数据根目录后,之前的数据将不会被自动迁移到新的位置,需要手动进行数据迁移。

通过以上步骤和示例,您可以在 CentOS 上顺利安装和使用 Docker,并根据需要进行自定义配置,Docker 的强大之处在于其可移植性和灵活性,使得软件开发和部署变得更加高效和便捷。

分享:
扫描分享到社交APP
上一篇
下一篇