使用FROM编写不使用Dockerfile

时间:2017-02-01 10:29:43

标签: docker docker-compose dockerfile

现在,我正在使用一个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

我有什么遗失的吗?

2 个答案:

答案 0 :(得分:0)

docker-compose.yaml文件中,添加以下参数(在“容器”部分下):

tty: true

答案 1 :(得分:0)

解决了它切换Dockerfile的最后两行

的问题
ENTRYPOINT ["/bin/sh", "-c"]
CMD ["/bin/bash"]    

CMD ["/bin/bash", "-c", "/bin/bash"]