Docker使用系列一我们把镜像源改为了阿里云的,方便后续的操作。

执行这个命令就把源地址改为阿里的:

curl https://git.oschina.net/feedao/Docker_shell/raw/start/ali-centos.sh | sh

第一安装Docker:

yum -y install docker-io

第二 启动Docker:

service docker start

第三安装制作CentOS镜像的工具:

yum -y install febootstrap

第四 制作CentOS镜像文件centos6-image目录

febootstrap -i bash -i wget -i yum -i iputils -i iproute -i man -i vim-minimal -i openssh-server -i openssh-clients centos6 centos6-image http://mirrors.aliyun.com/centos/6/os/x86_64/

第五制作Docker镜像,镜像名字是centos6-base, 最后的点是必须要的

cd centos6-image && docker build -t centos6-base .
cd centos6-image && tar -c .|docker import - centos6-base  【测试有效】
 

第六制作可以ssh登陆的Docker镜像,名字是centos6-ssh

docker build -t centos6-ssh https://git.oschina.net/feedao/Docker_shell/raw/start/Dockerfile

经过前面的六个步骤,一个可以登陆的本地docker镜像就制作好了。

用户名是:root,密码是:123456

体验步骤:

创建容器:

docker run -d -p 127.0.0.1:33301:22 centos6-ssh

ssh登陆容器:

ssh root@127.0.0.1 -p 33301

输入密码后就可以开始折腾了。

通过授信无密码登陆

依赖于centos6-ssh镜像,制作第三个自动授信的镜像centos-newssh。

方法如下:

curl https://git.oschina.net/feedao/Docker_shell/raw/start/Docker-centos-autossh.sh | sh

一个命令就行了,这条命令会创建一个新镜像centos-newssh

开始体验,现在不需要输入root密码了:

docker run -d -p 127.0.0.1:33306:22 -m 256M centos-newssh
ssh root@127.0.0.1 -p 33306 "echo $LANG;ifconfig"
如果不想第一次连接的时候输入yes,确认连接,可以使用下面的命令:
ssh -o StrictHostKeyChecking=no root@127.0.0.1 -p 33306 "echo $LANG;ifconfig"
体验完了,我们来分析下
https://git.oschina.net/feedao/Docker_shell/raw/start/Docker-centos-autossh.sh
#!/bin/sh
[ ! -d /root/.ssh ] && mkdir -p /root/.ssh
ssh-keygen -q -N "" -t dsa -f /root/.ssh/id_dsa
KEY_PUB=`cat /root/.ssh/id_dsa.pub`
[ ! -d /root/docker-temp ] && mkdir /root/docker-temp
cd /root/docker-temp
cat >/root/docker-temp/Dockerfile <<EOF
#Dockerfile
FROM centos6-ssh
MAINTAINER feedao <feedao@163.com>
EOF
echo "RUN echo \"$KEY_PUB\" > /root/.ssh/authorized_keys && chmod 600 /root/.ssh/authorized_keys " >>Dockerfile
cd /root && cat /root/docker-temp/Dockerfile | docker build -t centos-newssh -

脚本内容比较简单,就是生成新的秘钥和公钥

ssh-keygen -q -N "" -t dsa -f /root/.ssh/id_dsa
然后把公钥自动加到Docker容器中,这里是修改Dockerfile:
echo "RUN echo \"$KEY_PUB\" > /root/.ssh/authorized_keys && chmod 600 /root/.ssh/authorized_keys " >>Dockerfile
最后创建新的镜像:
cd /root && cat /root/docker-temp/Dockerfile | docker build -t centos-newssh -
你可以把/root/docker-temp文件夹删除
rm -rf /root/docker-temp

制作可以 SSH 登录的 Docker 镜像相关推荐

  1. 获取已经登录的docker镜像仓库地址、用户名、密码

    获取已经登录的docker镜像仓库地址.用户名.密码 1.查看存储凭证: cat /root/.docker/config.json 返回信息: {"auths": {" ...

  2. 制作可ssh登录镜像ascend-mindspore-armms1.5的方法

    文章目录 1.获取基础镜像并导入 2.目标镜像制作 2.1创建工作目录ascend-mindspore-arm_ssh 2.2 创建Dockfile 2.3 制作目标镜像 3. 容器ssh登录验证 1 ...

  3. python使用ssh 中文_Python3制作简易SSH登录工具

    下载W3Cschool手机App,0基础随时随地学编程>>戳此了解 导语 做这个的起因大概是: 电脑里的Xshell不知道为啥突然显示"评估期已过"之类的提示... 记 ...

  4. centos7 怎么封装自己的镜像_在Centos7系统上制作一个7系的Docker镜像

    上一次手动制作Docker镜像教程是在Centos6.5系统上实现的,利用febootstrap工具制作: 但是在Centos7系统上无法使用Yum来安装febootstrap工具,如果确实要安装也可 ...

  5. python写一个ssh工具_Python3制作简易SSH登录工具|python3教程|python入门|python教程

    https://www.xin3721.com/eschool/pythonxin3721/ 本文转载至知乎ID:Charles(白露未晞)知乎个人专栏 下载W3Cschool手机App,0基础随时随 ...

  6. 制作各种docker镜像

    做了一个星期的镜像,收货颇多,现在整理记录下来,当做工作笔记吧.把常用的几个镜像的Dockerfile分享下. 制作基础docker镜像 制作基础镜像网上有很多实例,可以参考下开源中国的这篇文章:ht ...

  7. Docker 镜像制作和管理

    2 Docker 镜像制作和管理 2.1 Docker 镜像说明 2.1.1 Docker 镜像中有没有内核 docker run --rm apline uname -r #内核 2.1.2 为什么 ...

  8. CentOS6 PHP5.6+Nginx Docker镜像制作

    背景 由于项目需要,今天制作了一下基于CentOS6的PHP5.6+Nginx的Docker镜像,同时也复习了一下Dockfile,解决一两个坑,实现了在一个Docker中启动多个进程的目标. Doc ...

  9. 2 Docker镜像的制作和使用说明

    一.Docker镜像的分类 Docker镜像从来源,可以分为官方镜像和自制镜像.从制作方式不同又可分为自动生成镜像和定制镜像.本篇文章着重讲解镜像的各种制作和使用方法. 二.Docker镜像的制作 首 ...

最新文章

  1. 程序员会懂的冷笑话:各大编程语言的内心独白
  2. .exe已停止工作_这几天我遇到了前所未有的问题windows10 1809 explorer.exe资源管理器频繁崩溃...
  3. 第十一章:WEB浏览器中的javascript
  4. Javascript 自定义输出
  5. 实现根据条件删除_强大的定位空值法,1秒删除所有不想要的数据
  6. 从.NET Core 3.1项目生成本地可执行文件
  7. Spring EL中的类操作符
  8. elasticsearch 中文分词
  9. 周五,放松心情,听我来分享问题背后的背后(一)
  10. cvPyrSegmentation() 图像金字塔分割
  11. 使用JavaScript实现纯前端读取excel文件并与后台进行交互
  12. livereload(自动刷新)
  13. 基于matlab双闭环直流调速系统仿真,基于MATLAB的双闭环直流调速系统的仿真
  14. 汽车自动驾驶是人工智能吗,自动驾驶是人工智能
  15. Imu_heading源码阅读(一)——common.h
  16. English——让步状语从句(一般现在时表将来)(三)
  17. python中空字符串是什么_python为空怎么表示 python如何判断字符串为空
  18. replay attacker
  19. 批量抠图,只需要这几行python代码!
  20. 输入一个整数,输出每个数字对应的拼音 (c++)

热门文章

  1. Facebook开源新NLP框架:简化部署流程,大规模应用也OK
  2. 南开大学开源新图像分割算法,刷新精度记录 | 资源
  3. 亚马逊Alexa已接入2万种设备,22岁开发者月入1万美元
  4. 过年回家送什么?这10个教小朋友编程玩具最有科技感
  5. python作业(12.12)
  6. Xamarin自定义布局系列——PivotPage(多页面切换控件)
  7. linux下超简单的ntp时间服务器
  8. 在oracle数据库表中没有添加rowid字段为什么会出现?
  9. dropzonejs中文翻译手册 DropzoneJS是一个提供文件拖拽上传并且提供图片预览的开源类库....
  10. 1.3 c++程序的构成和书写形式