在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,满足不同的应用需求。