【问题标题】:docker-compose.yml + ssh-server not workingdocker-compose.yml + ssh-server 不工作
【发布时间】:2019-03-01 10:12:45
【问题描述】:

我正在尝试启动我的 docker-compose.yml(示例如下),但每当我启动容器时,sshd 服务器服务都无法正常工作:

# My docker-compose.yml
version: '3'
services:
  server1:
    image: server-dev:v0.8
    hostname: server-dev1
    command: bash -c "/usr/sbin/init"
    ports:
      - "2222:22"
      - 80:80
  server2:
    image: server-dev:v0.8
    hostname: server-dev2
    command: bash -c "/usr/sbin/init"
    depends_on:
      - server1

有什么建议吗?

【问题讨论】:

  • 您能否提供更多关于究竟是什么不起作用的信息?您是否有任何日志输出,图像的 Dockerfile 的相关部分(CMD/ENTRYPOINT)?作为自制 ssh 容器的起点,也许这个官方 docker 示例会有所帮助:docs.docker.com/engine/examples/running_ssh_service
  • #My Dockerfile FROM centos RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in ; do [ $i == \systemd-tmpfiles-setup.服务] || rm -f $i; 完成); \rm -f /lib/systemd/system/multi-user.target.wants/;\rm -f /etc/systemd/system/*.wants/*;\rm -f /lib/systemd/系统/本地-fs.target.wants/*; \ rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \rm -f /lib/systemd/system/basic.target.wants/*;\rm -f /lib/systemd/system/anaconda.target.wants/*;音量 [“/sys/fs/cgroup”]
  • ## 我的 Dockerfile part2 CMD ["/usr/sbin/init"] ENV container=docker EXPOSE 53/udp 22 53 80 443 389 636 88 464 88/udp 464/udp 123/udp 7389 9443 9444 9445 运行 mkdir -p /usr/share/info/ 复制 usr/share/info/*.gz /usr/share/info/ 运行 yum -y install epel-release; \ yum -y 更新; \ yum -y install bind-utils vim openssh-server openssh-clients; \ yum -y 安装ipa-server; \systemctl 启用 dnsmasq; \ yum -y install ipa-server-dns bindipa-server bind-dyndb-ldap; \ yum clean all CMD /usr/sbin/sshd -D

标签: docker-compose


【解决方案1】:

从你的 Dockerfile 构建一个镜像并运行它

docker run -p 2222:22 dschuldt/test

抛出:

Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
sshd: no hostkeys available -- exiting.

您可以在最后一个 CMD 命令之前将此行添加到您的 dockerfile 以使其工作(顺便说一下,您有两个 CMD 命令...第一个将被覆盖):

RUN /usr/bin/ssh-keygen -A 

还有一个小提示:您的图片大小为 739MB。也许你应该重新考虑你的用例;-)

祝你晚上愉快

dschuldt

【讨论】:

  • 它现在可以工作了。感谢您的支持,但与您的提示有关。我是 docker 的新用户,我正在学习 ;-)
猜你喜欢
  • 2023-02-06
  • 2022-09-29
  • 2022-01-05
  • 2022-07-14
  • 2019-10-24
  • 1970-01-01
  • 2023-01-07
  • 1970-01-01
  • 2017-03-12
相关资源
最近更新 更多