共计 1679 个字符,预计需要花费 5 分钟才能阅读完成。
1. 首先创建一个 Dockerfile 文件,文件内容如下
# 选择一个已有的 os 镜像作为基础
FROM CentOS:centos6
# 镜像的作者
MAINTAINER Fanbin Kong “linuxidc@linuxidc.com”
# 安装 openssh-server 和 sudo 软件包,并且将 sshd 的 UsePAM 参数设置成 no
RUN yum install -y openssh-server sudo
RUN sed -i ‘s/UsePAM yes/UsePAM no/g’ /etc/ssh/sshd_config
# 添加测试用户 admin,密码 admin,并且将此用户添加到 sudoers 里
RUN useradd admin
RUN echo “admin:admin” | chpasswd
RUN echo “admin ALL=(ALL) ALL” >> /etc/sudoers
# 下面这两句比较特殊,在 centos6 上必须要有,否则创建出来的容器 sshd 不能登录
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
# 启动 sshd 服务并且暴露 22 端口
RUN mkdir /var/run/sshd
EXPOSE 22
CMD [“/usr/sbin/sshd”, “-D”]
Dockerfile 文件有自己的语法和命令,具体可以参考 Docker 的官方文档。
2. 有了 Dockerfile 文件以后,就可以根据 Dockerfile 来创建 image 文件了,在 Dockerfile 所在的目录下,运行下面的命令
sudo docker build -t centos6-ssh .
命令成功后,就会创建一个名字为 centos6-ssh 的 image,可以使用“sudo docker images”来查看。
3. 此时就可以根据上面创建出来的 image 文件来创建自己的容器了,下面的命令会创建一个名字为“mytest”的容器。
sudo docker run -d -P –name=mytest centos6-ssh
4. 有了容器,就可以测试我们的 ssh 服务了。
4.1 运行“sudo docker inspect mytest”,查看当前启动容器 IP 地址,然后运行下面的命令来测试
ssh admin@< 容器 IP>
4.2 另外,也可以通过 docker 的端口映射来访问,使用“sudo docker port mytest 22”查看当前容器的 22 端口对应的宿主机器的端口,然后通过下面的命令来访问
ssh admin@< 宿主机器 IP> -p < 宿主机器端口 >
配置 Docker 镜像下载的本地 mirror 服务 http://www.linuxidc.com/Linux/2015-07/120061.htm
Docker 安装应用 (CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm
在 Docker 中使用 MySQL http://www.linuxidc.com/Linux/2014-01/95354.htm
在 Ubuntu Trusty 14.04 (LTS) (64-bit) 安装 Docker http://www.linuxidc.com/Linux/2014-10/108184.htm
Docker 安装应用 (CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm
Ubuntu 14.04 安装 Docker http://www.linuxidc.com/linux/2014-08/105656.htm
阿里云 CentOS 6.5 模板上安装 Docker http://www.linuxidc.com/Linux/2014-11/109107.htm
Docker 的详细介绍 :请点这里
Docker 的下载地址 :请点这里
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-07/120298.htm