【问题标题】:Docker Container is exited with status code 255Docker 容器以状态码 255 退出
【发布时间】:2020-07-01 21:25:41
【问题描述】:

docker-compose.yml

version: '3'
services:
        jenkins:
                container_name: jenkins     
                image: jenkins/jenkins 
                ports: 
                        - "8080:8080"
                volumes: 
                        - "$PWD/jenkins_home:/var/jenkins_home"
                networks:
                        - net
        remote_host:
                container_name: remote-host
                image: remote-host
                build: 
                        context: ubuntu_container
                networks:
                        - net
networks:
        net:  

Dockerfile

FROM ubuntu:20.04

RUN apt-get update && apt-get install -y openssh-server

RUN useradd -ms /bin/bash remote_user && \
    echo  'remote_user:<password>' | chpasswd && \
    mkdir /home/remote_user/.ssh && \ 
    chmod 700 /home/remote_user/.ssh

COPY remote-key.pub /home/remote_user/.ssh/authorized_keys
RUN chown remote_user:remote_user -R /home/remote_user/.ssh && \
    chmod 600 /home/remote_user/.ssh/authorized_keys

RUN ssh-keygen -A


CMD /usr/sbin/sshd -D

$ docker-compose build 的输出

Building remote_host
Step 1/7 : FROM ubuntu:20.04
 ---> 74435f89ab78
Step 2/7 : RUN apt-get update && apt-get install -y openssh-server
 ---> Using cache
 ---> dfaef48ff3df
Step 3/7 : RUN useradd -ms /bin/bash remote_user &&     echo  'remote_user:root123' | chpasswd &&   mkdir /home/remote_user/.ssh &&     chmod 700 /home/remote_user/.ssh
 ---> Using cache
 ---> 978387042c0f
Step 4/7 : COPY remote-key.pub /home/remote_user/.ssh/authorized_keys
 ---> Using cache
 ---> d5bc890cc4c1
Step 5/7 : RUN chown remote_user:remote_user -R /home/remote_user/.ssh &&   chmod 600 /home/remote_user/.ssh/authorized_keys
 ---> Using cache
 ---> 0a99e09c02aa
Step 6/7 : RUN ssh-keygen -A
 ---> Using cache
 ---> 8ed7cac699d5
Step 7/7 : CMD /usr/sbin/sshd -D
 ---> Running in de3b02ee7c10
Removing intermediate container de3b02ee7c10
 ---> 64eee00b5a0f
Successfully built 64eee00b5a0f
Successfully tagged remote-host:latest

$ docker-compose up -d 的输出

Recreating remote-host ... done

$ docker ps -a 的输出

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                         PORTS                               NAMES
2cb7f0c7f6b0        remote-host         "/bin/sh -c '/usr/sb…"   13 seconds ago      Exited (255) 9 seconds ago                                         remote-host

我的容器已成功构建和创建,但仍以状态码 255 退出。请您帮我解决这个问题

【问题讨论】:

    标签: docker ubuntu docker-compose


    【解决方案1】:

    像这样使用您的 docker-compose 文件来映射您的主机 docker.sock:

    version: '3'
    services:
        jenkins:
                container_name: jenkins     
                image: jenkins/jenkins 
                privileged: true
                ports: 
                   - "8080:8080"
                volumes: 
                   - /var/run/docker.sock:/var/run/docker.sock
                   - "$PWD/jenkins_home:/var/jenkins_home"
                networks:
                   - net
        remote_host:
                container_name: remote-host
                image: remote-host
                build: 
                    context: ubuntu_container
                networks:
                    - net
    networks:
        net: 
    

    【讨论】:

    • 谢谢 MikZuit,我尝试了您建议的解决方案仍然面临同样的问题。容器正在终止,状态码为 255
    【解决方案2】:

    通过在 docker-composer.yml 文件中添加端口详细信息,我可以启动容器。所以我在 remote_host 下添加了一行:说端口:“8081:8081”。或者我们可以使用 EXPOSE PORT 22 来实现,因为 sshd 使用 22 作为默认端口

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-25
      • 2015-09-04
      • 1970-01-01
      相关资源
      最近更新 更多