问题描述
我想在同一个镜像中安装 Nginx 和 MysqL。我从一个 MysqL 映像开始,计划使用 dockerfile 安装 docker。 这是我的 dockerfile:
FROM MysqL:latest
ENV MysqL_ROOT_PASSWORD=HelloWorld \
MysqL_DATABASE=content
RUN apt update
RUN apt install Nginx -y
copY Nginx.conf /etc/Nginx/Nginx.conf
这完美地启动了 MysqL db,并且 Nginx 也被安装了。不幸的是,Nginx 没有启动。为了启动 Nginx,我还在 docker 文件中添加了另一个命令:
CMD service Nginx start
在dockerfile中添加这一行后,容器在创建后关闭。我在这里做错了什么? 我正在使用下面的命令来启动带有上面图像的容器:
docker run -it -p 3306:3306 -p 8080:80 -p 8081:443 --name mycontainer myimage
解决方法
最好在单独的容器中运行每个进程。但是如果你想这样做,你应该创建一个 bash 文件来启动 MySQL 和 Nginx。最后,您应该使用该 bash 文件作为图像/容器的 ENTRYPOINT