在CentOS上集成Docker可以通过以下步骤实现:
首先,确保你的CentOS系统是最新的:
sudo yum update -y 安装一些必要的包以便使用yum源来安装Docker:
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 CE及其相关组件:
sudo yum install docker-ce docker-ce-cli containerd.io 启动Docker服务并设置为开机自启:
sudo systemctl start docker sudo systemctl enable docker 验证Docker是否安装成功:
sudo docker --version 你可以根据需要配置Docker守护进程。例如,可以编辑 /etc/docker/daemon.json 文件来添加自定义配置:
{ "exec-opts": ["native.cgroupdriversystemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2" } 然后重启Docker服务以应用更改:
sudo systemctl daemon-reload sudo systemctl restart docker 如果你的系统启用了防火墙,确保Docker端口(默认是2375和2376)是开放的:
sudo firewall-cmd --permanent --zonetrusted --add-service=docker sudo firewall-cmd --reload 如果你的系统启用了SELinux,你可能需要调整一些策略以允许Docker正常运行:
sudo setsebool -P docker_ isolation 1 可以使用以下命令拉取CentOS镜像并运行一个容器:
docker pull centos:7 docker run -itd --name my_centos_container centos:7 /bin/bash 可以通过配置端口映射来实现容器与宿主机的通信:
docker run -itd -p 2222:22 --name my_centos_container centos:7 /bin/bash 这样,可以通过宿主机的2222端口访问容器的22端口。
数据卷是Docker官方推荐的持久化方案。它由Docker管理,存储空间来自于宿主机文件系统中的某个目录,如 /var/lib/docker/volumes/。
创建数据卷:
docker volume create my-volume 运行容器时挂载数据卷:
docker run -d -v my-volume:/mydata --name myweb nginx:latest 绑定挂载允许用户指定存储的数据具体挂载在系统什么位置,支持Windows系统。
在宿主机上创建一个目录:
mkdir /host/path/to/data 运行容器时挂载数据:
docker run -d -v /host/path/to/data:/container/path nginx:latest 对于更复杂的应用,可以使用Docker Compose来管理和部署多个容器。以下是一个简单的 docker-compose.yml 文件示例:
version: '3.8' services: web: image: nginx:latest ports: - "80:80" 启动容器:
docker-compose up -d 通过以上步骤,你可以在CentOS上成功集成Docker,满足不同的应用需求。