在CentOS上利用Docker部署應用的步驟如下:
CentOS 7需要64位系統,內核版本3.10+;CentOS 8需要64位系統,內核版本3.10+。
如果之前安裝過舊版本的Docker,可以先進行卸載:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl start docker
sudo docker run hello-world
如果看到“Hello from Docker!”的消息,說明Docker環境已正確配置。
在項目根目錄下創建一個名為 Dockerfile
的文件,并使用以下指令編寫描述腳本:
# 使用官方CentOS鏡像作為基礎鏡像
FROM centos:7
# 安裝Python3和pip
RUN yum makecache fast; \
yum install python3-devel python3-pip -y
# 安裝Flask
RUN pip3 install -i https://pypi.douban.com/simple flask
# 將當前目錄下的main.py文件復制到容器中的/opt目錄
COPY main.py /opt
# 設置工作目錄為/opt
WORKDIR /opt
# 暴露容器內項目對外暴露的端口號
EXPOSE 8888
# 指定容器啟動后,運行的命令
CMD ["python3", "main.py"]
在當前文件夾下,根據 Dockerfile
文件構建一個鏡像:
docker build --no-cache -t "my_flask_web" .
使用 docker run
命令基于鏡像運行一個容器:
docker run -d --name flask_web -p 9999:8888 my_flask_web
其中:
-d
:代表容器在后臺運行。--name
:用于執行容器的別名。-p
:用于配置宿主機與容器的端口映射。最后,在瀏覽器中通過宿主機暴露的端口號訪問項目:
http://127.0.0.1:9999/
如果看到Flask應用的輸出信息,說明應用已成功部署。
docker-compose.yml
文件來描述整個應用的服務、網絡和卷等配置。/etc/docker/daemon.json
文件:{
"registry-mirrors": ["http://hub-mirror.c.163.com", "https://registry.docker-cn.com"]
}
然后重啟Docker服務:
sudo systemctl restart docker
通過以上步驟,你可以在CentOS上成功利用Docker部署應用。