簡體   English   中英

Docker-compose up不會啟動容器

[英]Docker-compose up does not start a container

Dockerfile:

FROM shawnzhu/ruby-nodejs:0.12.7

RUN \
    apt-get install git \   
    && npm install -g bower gulp grunt \
    gem install sass

RUN useradd -ms /bin/bash devel

# Deal with ssh
COPY ssh_keys/id_rsa /devel/.ssh/id_rsa
COPY ssh_keys/id_rsa.pub /devel/.ssh/id_rsa.pub
RUN echo "IdentityFile /devel/.ssh/id_rsa" > /devel/.ssh/config

# set root password
RUN echo 'root:password' | chpasswd

# Add gitconfig
COPY .gitconfig /devel/.gitconfig

USER devel

WORKDIR /var/www/

EXPOSE 80

docker-compose.yml文件:

nodejs:
  build: .
  ports:
    - "8001:80"
    - "3000:3000"
  volumes:
    - ~/Web/docker/nodejs/www:/var/www

命令:

$ docker-compose build nodejs

$ docker圖片

REPOSITORY             TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
nodejs_nodejs          latest              aece5fb27134        2 minutes ago       596.5 MB
shawnzhu/ruby-nodejs   0.12.7              bbd5b568b88f        5 months ago        547.5 MB

$ docker-compose up -d nodejs

Creating nodejs_nodejs_1

$ docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

$ docker ps --all

CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS                          PORTS               NAMES
c24c6d0e756b        nodejs_nodejs       "/bin/bash"         About a minute ago   Exited (0) About a minute ago                       nodejs_nodejs_1

你可以看到docker-compose up -d應該創建一個容器並在后台運行它,但事實並非如此。 而是退出代碼0。

如果您的Dockerfile沒有執行任何操作(例如,要在端口80上偵聽的Web服務器),它將在完成指令運行后立即被丟棄。 因為Docker容器應該是“短暫的”

如果您只想啟動容器並通過終端與其進行交互,請不要使用docker-compose up -d ,請改用以下內容:

docker run -it --entrypoint=/bin/bash [your_image_id]

這將啟動您的容器並運行/bin/bash-it可幫助您保持終端會話與容器交互。 完成工作后,按Ctrl-D退出。

SQL Server 2017容器在創建后很快就出現了類似的問題。 在容器內運行的進程應該長時間運行,否則Docker將退出容器。 在docker-compose場景中,我實現了tty:true方法,這里記錄了https://www.handsonarchitect.com/2018/01/docker-compose-tip-how-to-avoid-sql.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM