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