我在docker中创建了两个容器。但是,其中一个可见,另一个不可见。上下文:我通过下载docker-jenkins图像文件创建了一个容器,它已经启动并运行,可以使用docker-ps命令看到。
然后,我尝试创建一个由第二个容器使用的Image文件。我在VI中使用的脚本创建图像文件:
FROM centos
RUN yum -y install openssh-server
RUN yum install -y passwd
RUN useradd remote_user &&
echo "1234" | passwd remote_user --stdin &&
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
CMD /usr/sbin/sshd -D
脚本以";docker compose build";已成功地从脚本生成映像。
一旦它成功构建,我尝试使用启动它
[jenkins@localhost jenkins-data]$ docker-compose up -d
jenkins is up-to-date
Starting remote-host ... done
张贴这个,当我做:
[jenkins@localhost jenkins-data]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5c1ee0507091 jenkins/jenkins "/sbin/tini -- /usr/…" 5 days ago Up 5 minutes 0.0.0.0:8080->8080/tcp, 50000/tcp jenkins
它只显示了一个正在运行的容器,而远程主机容器不可见。有什么方法可以确保远程主机容器是否确实在运行,或者是否存在任何问题?
docker和jenkins的新手,任何线索都将不胜感激。非常感谢。
docker ps
仅显示正在运行容器。
使用docker ps -a
,您可以看到正在运行和已停止的容器。
请参阅有关ps
的Docker文档。
可能remote-host
容器不再运行了?
容器已停止,因为CMD命令启动的主进程已分离并成为守护进程
主进程应该连接到终端,所以你必须从CMD命令CMD /usr/sbin/sshd -D
中删除-D
,或者你可以按照这个方法
在分离模式下运行sshd,并在睡眠时使用以保留容器运行