基于centos7使用dockerfile制作nginx+mysql+php+Go+Nodejs镜像
时间: 2023-06-29 18:15:55 浏览: 175
好的,以下是一个基于 CentOS 7 的 Dockerfile 示例,用于制作包含 Nginx、MySQL、PHP、Go 和 Node.js 的镜像:
```
# 基于 centos:7 镜像
FROM centos:7
# 安装必要的工具和依赖
RUN yum install -y epel-release && \
yum install -y nginx mysql-server mysql-client php php-mysql php-fpm php-mbstring go golang nodejs npm && \
yum clean all && \
rm -rf /var/cache/yum/*
# 拷贝 nginx 配置文件
COPY nginx.conf /etc/nginx/nginx.conf
# 暴露 nginx 和 mysql 端口
EXPOSE 80 3306
# 启动 nginx、mysql、php-fpm、Go 和 Node.js 服务
CMD service mysqld start && service php-fpm start && nginx -g 'daemon off;' && go run main.go && node index.js
```
在当前目录下创建一个名为 `nginx.conf` 的文件,用于配置 Nginx。然后,您可以使用以下命令构建此镜像:
```
docker build -t my-web-stack .
```
完成后,就可以使用以下命令运行这个镜像:
```
docker run -p 80:80 -p 3306:3306 -d my-web-stack
```
这将会启动一个包含 Nginx、MySQL、PHP、Go 和 Node.js 的容器,并将容器的 80 和 3306 端口映射到主机的相应端口。
阅读全文