use*_*632 4 linux ssh openssh lxc docker
我是Docker的新手,我从Dockerfile构建了容器,我可以看到容器正在创建并运行,但是我无法使用ssh连接到该容器.
这是我的Dockerfile:
FROM ubuntu:12.04
RUN apt-get update
RUN apt-get install -y apache2 & openssh-server
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2
EXPOSE 80
EXPOSE 22
ENTRYPOINT ["/usr/sbin/apache2"]
CMD ["-D", "FOREGROUND"]
Run Code Online (Sandbox Code Playgroud)
然后我跑了这个cmd:
docker build -t="apache2" .
$ docker run -d apache2
Run Code Online (Sandbox Code Playgroud)
当我这样做时docker ps,我可以看到端口已分配,但我无法使用ssh连接到该容器.
$ docker ps
ID IMAGE COMMAND CREATED STATUS PORTS
5765535796f8 apache2:latest /usr/sbin/apache2 -D About a minute ago Up About a minute 49154->80,49155->22
Run Code Online (Sandbox Code Playgroud)
看起来你的docker文件中有一个拼写错误.线:
RUN apt-get install -y apache2 & openssh-server
应该
RUN apt-get install -y apache2 openssh-server
如果您更改此设置以及添加设置root密码的步骤(如"运行ssh服务指南"中所示),您是否可以将ssh插入正在运行的容器中?
https://docs.docker.com/engine/examples/running_ssh_service/