Webman Docker部署方案
Webman Docker容器化部署方案
一. 方案优势
1. 方便 多平台的开发部署
2. 方便 修改 PHP 版本
3. 方便 修改 PHP 扩展
二. Dockerfile
1. 基于 CentOS:7 + PHP8.1
FROM centos:7
# install yum-utils
RUN yum -y install yum-utils
# install libevent
RUN yum -y install libevent libevent-devel
# install php8.1 libs
RUN yum -y install epel-release
RUN yum -y install https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm
RUN yum-config-manager --enable remi-php81
RUN yum -y install php-cli php-event php-posix php-pcntl php-zip php-openssl php-devel php-gd php-mbstring php-curl php-xml php-simplexml php-fileinfo php-sodium php-pear php-bcmath php-json php-mysqlnd php-redis php-amqp php-imagick --skip-broken
# copy project
RUN mkdir /app
COPY ./ /app
RUN chmod -R 777 /app/public /app/runtime
# clean all
RUN yum clean all
ENTRYPOINT ["php", "/app/start.php", "start"]
2. 如何修改 PHP 版本:
修改 Dockerfile 中的 "RUN yum-config-manager --enable remi-php81" 行中的 "remi-php81" 即可。 该信息表示 PHP 的版本, 如 使用 PHP8.0, 将其修改 "remi-php80"。
3. 如何修改 PHP 扩展:
添加或删除 Dockerfile 中的 "RUN yum -y install php-cli..." 行中的 PHP 扩展即可。PHP 扩展格式为 php-扩展名, 如 添加 redis 扩展, 在该行增加 "php-redis"。(当前 Dockerfile 中已添加了该扩展)
三. Docker容器化部署
1. Docker 构建镜像:
1. 将 Dockerfile 放入应用跟目录
2. 运行制作镜像(镜像名称按 开发者/应用:版本):
docker build --rm -t developer/app:1.0 .
2. Docker 运行命令:
1. 使用镜像创建容器:
docker run -d --restart=always --name=app -p 18787:18787 developer/app:1.0
参数说明:
-d:后台方式运行
--restart=always:自启动
--name=app:容器服务名称
-p 18787:18787:映射端口(将外部端口映射到容器内部服务端口)
developer/app:1.0:镜像名称
2. 容器服务操作
(1) 查看容器状态
docker ps -a
(2) 进入容器
docker exec -it app /bin/bash
(3) 重启服务
docker restart app
(4) 关闭服务
docker stop app
(5) 容器状态
docker stats
个评论