我无法启动清晰安装的Ubuntu。然后尝试在Dockerfile
中安装Nginx
和PHP
。
我使用docker-compose up -d
命令来准备和启动容器,但是它总是重新启动。
错误在哪里?这是我的代码。
docker-compose.yml
:
version: '3'
services:
ubuntu:
build:
context: .
dockerfile: Dockerfile
ports:
- 80:80
volumes:
- ./data:/var/data
Dockerfile
:
FROM ubuntu:latest
RUN apt update -y && apt upgrade -y && apt autoremove -y
&& apt install nginx -y
&& apt install php -y
CMD ["bash"]
我试过docker pull ubuntu
然后docker run ubuntu
。docker ps
为空。这意味着容器的开始和结束都很快。我搜索docker inspect ubuntu
,找到"Cmd": "bash"
。
然后我尝试了docker run -it ubuntu
,我在ubuntu容器中访问了bash。但是当我离开时,容器关闭了。
我认为你应该阅读和学习官方的nginx,例如:https://github.com/nginxinc/docker-nginx/blob/f958fbacada447737319e979db45a1da49123142/mainline/debian/Dockerfile
你的问题是你的命令:你应该使用类似的命令CMD ["nginx", "-g", "daemon off;"]
编辑:我认为你应该使用一个Dockerfile为你的nginx和另一个为你的php。然后调用docker-compose.yml
中的图像。使用的是最新的Ubuntu镜像。我有一个类似的问题,只是它一直挂着。将Dockerfile的第一行改为:从ubuntu 20.04