• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >虚拟化 > Docker使用Dockerfile创建支持ssh服务自启动的容器镜像

Docker使用Dockerfile创建支持ssh服务自启动的容器镜像

作者:kongxx 字体:[增加 减小] 来源:互联网

本文主要包含Docker,Dockerfile,ssh,容器镜像等服务器相关知识,kongxx 希望可以进行参考

本文实例为大家分享了Dockerfile创建支持ssh服务自启动的容器镜像,供大家参考,具体内容如下

1. 首先创建一个Dockerfile文件,文件内容如下

# 选择一个已有的os镜像作为基础
FROM centos:centos6

# 镜像的作者
MAINTAINER Fanbin Kong "kongxx@hotmail.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搭建简单的应用栈与容器Hello World访问详解
  • Docker如何同时启动多个服务
  • CentOS 7安装Docker服务详细过程
  • Docker-利用dockerfile来搭建tomcat服务的方法
  • 详解Docker Swarm服务发现和负载均衡原理
  • 详解Docker创建支持ssh服务的容器和镜像
  • 浅谈Docker数据持久化
  • Docker堆栈的管理操作详解
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Docker实践8:Compose,docker实践compose
  • Docker buildx构建多平台镜像并推送到私有仓库的方法
  • Docker三个基本概念镜像(Image)容器(Container)仓库(Repository)
  • 什么是Docker?为什么要使用Docker
  • docker 开源的应用容器引擎
  • 如何给docker设置http代理
  • docker官方mysql镜像自定义配置详解
  • 详解Docker数据管理(数据卷&数据卷容器)
  • 如何利用Docker容器实现代理转发与数据备份详解
  • 详解Docker Swarm 在持续集成测试中的应用

相关文章

  • 解决VMware仅主机模式虚拟机无法ping通物理机问题
  • docker私有仓库的搭建和使用详解
  • Docker下Tomcat容器中使用Mysql的方法
  • Docker学习笔记之容器查看启动终止删除的方法
  • 详解docker pull 下来的镜像文件存放的位置
  • Centos7安装docker compse踩过的坑及解决方法
  • VirtualBox 虚拟机中安装 Ubuntu 12.04(图文教程)
  • docker实践之容器的导入与导出
  • Docker overlay 网络搭建的方法
  • Docker 限制容器可用的CPU的方式

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • docker image删不掉的解决办法
    • Xen虚拟化进阶篇 Xen平台下虚拟机的实时迁移
    • docker连接spring boot和mysql容器方法介绍
    • 详解在 KVM 上安装 Win7 虚拟机
    • 调查:84%的IT主管未充分利用云计算
    • Docker 教程之CentOS安装 Docker
    • 蘑菇街 私有云Docker实例应用
    • 详解如何查看 docker 容器使用的资源
    • Linux新建用户并允许docker及docker基本命令
    • 在具有共享存储的xen Server上实现共享VM的启动方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有