我想在同一个镜像中安装 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
答案 0 :(得分:0)
最好在单独的容器中运行每个进程。但是如果你想这样做,你应该创建一个 bash 文件来启动 MySQL 和 Nginx。最后,您应该使用该 bash 文件作为图像/容器的 ENTRYPOINT