Webman Docker部署方案

CaesarTang

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
251 0 2
0个评论

CaesarTang

240
积分
0
获赞数
0
粉丝数
2022-03-28 加入
🔝