加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

unix – 在docker容器中安装ssh

发布时间:2020-12-15 21:35:20 所属栏目:安全 来源:网络整理
导读:我有一台托管Docker容器的ubuntu机器. ????在docker容器中,我正在运行必须验证的Web服务 ????用户的密码和docker主机的/ etc / password. 我的观点是从docker容器ssh到docker主机. ????所以当我在docker容器中运行命令ssh时,它的ssh未找到. ????所以,基本上s
我有一台托管Docker容器的ubuntu机器.
????在docker容器中,我正在运行必须验证的Web服务
????用户的密码和docker主机的/ etc / password.

我的观点是从docker容器ssh到docker主机.
????所以当我在docker容器中运行命令ssh时,它的ssh未找到.
????所以,基本上ssh没有安装在容器中.
????我如何在容器中安装ssh.
????有没有办法完成这种情况?

解决方法

好吧,作为图像文件的一部分,您只需要安装openssh-server:

sudo apt-get install openssh-server

问题是传统上,正在运行的docker容器只运行一个命令.你可以通过使用supervisord之类的东西解决这个问题. docker docs中有一个例子:https://docs.docker.com/engine/admin/using_supervisord/

您的dockerfile可能如下所示:

FROM ubuntu:16.04
MAINTAINER examples@docker.com

RUN apt-get update && apt-get install -y openssh-server apache2 supervisor
RUN mkdir -p /var/lock/apache2 /var/run/apache2 /var/run/sshd /var/log/supervisor

COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf

EXPOSE 22 80
CMD ["/usr/bin/supervisord"]

你的supervisord.conf看起来像这样:

[supervisord]
nodaemon=true

[program:sshd]
command=/usr/sbin/sshd -D

[program:apache2]
command=/bin/bash -c "source /etc/apache2/envvars && exec /usr/sbin/apache2 -DFOREGROUND"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读