I am new to Docker, I built the container from a Dockerfile, and I can see the container creating and running, but I am not able to connect to that container using ssh.
Here is my 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"]
Then I ran this cmd:
docker build -t="apache2" .
$ docker run -d apache2
When I do docker ps
, I can see the port is assigned, but I am not able to connect to that container using 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
It looks like there's a typo in your docker file. Line:
RUN apt-get install -y apache2 & openssh-server
should be
RUN apt-get install -y apache2 openssh-server
If you change this as well as add the steps to setting the root password as shown in the "running an ssh service guide" are you able to ssh into your running container?
https://docs.docker.com/engine/examples/running_ssh_service/