在CentOS上部署Docker應用主要涉及以下幾個步驟:
首先,你需要在CentOS系統上安裝Docker。以下是安裝Docker的步驟:
# 更新yum包索引
sudo yum update -y
# 安裝必要的包
sudo yum install -y yum-utils
# 設置Docker倉庫
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
# 設置Docker開機自啟
sudo systemctl enable docker
為了確保Docker能夠正常運行并安全地部署應用,你可以進行一些配置:
編輯/etc/docker/daemon.json文件,添加以下內容以配置Docker守護進程:
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
然后重啟Docker服務:
sudo systemctl restart docker
如果你有一個Dockerfile,可以使用以下命令構建Docker鏡像:
docker build -t your-image-name:tag .
使用以下命令運行Docker容器:
docker run -d --name your-container-name -p host-port:container-port your-image-name:tag
將你的應用文件復制到Docker容器中,或者通過卷掛載的方式將本地目錄掛載到容器中。
docker run -d --name your-container-name -v /local/path:/container/path your-image-name:tag
你可以使用以下命令來監控和管理Docker容器:
查看所有容器:
docker ps -a
查看運行中的容器:
docker ps
停止容器:
docker stop your-container-name
啟動容器:
docker start your-container-name
刪除容器:
docker rm your-container-name
確保你的防火墻允許Docker容器的通信。你可以使用以下命令打開必要的端口:
sudo firewall-cmd --zone=public --add-port=host-port/tcp --permanent
sudo firewall-cmd --reload
對于更復雜的應用部署,你可以使用Docker Compose來管理多個容器。首先安裝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.yml文件來定義你的服務:
version: '3'
services:
web:
image: your-image-name:tag
ports:
- "host-port:container-port"
volumes:
- /local/path:/container/path
最后使用以下命令啟動服務:
docker-compose up -d
通過以上步驟,你可以在CentOS上成功部署Docker應用。