现在,我正在使用一个docker-compose文件,其中包含这样的几行代码。这没有任何问题。它部署完美,我可以通过浏览器访问内部的Web服务器。
container:
command: bash -c "cd /code; chmod +x ./deploy/start_dev.sh; ./deploy/start_dev.sh;"
image: python:3.6
由于我需要能够通过SSH连接到容器,我创建了一个Dockerfile来安装它并修改配置文件,因此它允许不安全的根连接:
FROM python:3.6
RUN apt-get update && apt-get install openssh-server -y
RUN sed -i "s/PermitRootLogin without-password/PermitRootLogin yes/g" /etc/ssh/sshd_config
RUN sed -i "s/PermitEmptyPasswords no/PermitEmptyPasswords yes/g" /etc/ssh/sshd_config
RUN service ssh restart
RUN echo "root:sshpassword" | chpasswd
ENTRYPOINT ["/bin/sh", "-c"]
CMD ["/bin/bash"]
之后我将docker-compose文件更改为:
container:
command: bash -c "cd /code; chmod +x ./deploy/start_dev.sh; ./deploy/start_dev.sh;"
build:
context: .
从现在开始,每当我运行 docker-compose up 时,我都会得到以下输出:
container exited with code 0
我有什么遗失的吗?
答案 0 :(得分:0)
在docker-compose.yaml
文件中,添加以下参数(在“容器”部分下):
tty: true
答案 1 :(得分:0)
解决了它切换Dockerfile的最后两行
的问题ENTRYPOINT ["/bin/sh", "-c"]
CMD ["/bin/bash"]
到
CMD ["/bin/bash", "-c", "/bin/bash"]