首先我们安装好了ssh server之后,
我们需要将这个容器commit,然后启动这个被commit的image。
启动方式:
docker run -d -p 2222:22 /usr/sbin/sshd -D
-d 是docker run的参数,是让docker后台运行的
-p 是进行的端口映射,把宿主linux的2222映射或者说连通到docker中操作系统的22端口,
22端口是ssh默认端口。
-D 是针对SSH的参数,此选项只是用来监视sshd的启动状态,在附加此选项时,sshd不会作为一个守 护进程启动。
 
这个时候在其他地方进行连接的时候就很简单了。
ssh root@宿主机IP地址 -p 3222
 

Ubuntu apt的用法
Kali linux 是一个编译自Debian的用于网络攻防的linux版本。
这个版本好像是linux运维的必备的版本。
 
apt-get install = yum install 也同样是有-y的。
apt-cache search XXX 的意思是搜索已经安装过的东西
运行:
apt-get install -y open-ssh
然后进行配置:
sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
sed -ri 's/PermitRootLogin without-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
sed -ri 's/#PasswordAuthentication yes/PasswordAuthentication yes/g' /etc/ssh/sshd_config

Dockerfile 重新讲解
 
dockerfile 中的命令最好大写
from :使用那个基础镜像
这个可以使用网络image,应该也是可以使用本地image的。
export : 暴露什么端口
run : 在生成image的时候运行什么操作
cmd : 在这个image运行成container的时候执行什么操作
env : ENV JAVA_HOME /data/programs/jdk
相当于linux中的 export JAVA_HOME=/data/programs/jdk
 
docker build -t kalissh:1.0 .
后边的这个点就是指的要用当前目录中的这个Dockerfile运行(D 必须大写)
现在我感觉是不是也不是必须用Dockerfile这个名字啊,已经可以指定路径
docker build -t kalissh:1.0 ./u01/docker/
docker build -t kalissh:1.0 ./u01/docker/dan-dockerfile 是不是可行?
这里是不是还要加一个 . 啊,果然要加,但是实在前边加。
 

自己制作一个dockerfile:
FROM kalilinux:1.0
 
MAINTAINER Yangjianbo/18810120658@163.com
 
RUN apt-get install -y openssh-server
RUN apt-get install -y ssh ???这个好像没有用
RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
RUN sed -ri 's/PermitRootLogin without-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
RUN sed -ri 's/#PasswordAuthentication yes/PasswordAuthentication yes/g' /etc/ssh/sshd_config
RUN echo 'root:rootroot' | chpasswd
RUN /etc/init.d/ssh start ???这个是不是写成cmd更好
 
EXPORT 22
 
CMD mkdir /u01

[Docker] docker 基础学习笔记3(共6篇)的更多相关文章

  1. python基础学习笔记——网络编程(协议篇)

    一 互联网的本质 咱们先不说互联网是如何通信的(发送数据,文件等),先用一个经典的例子,给大家说明什么是互联网通信. 现在追溯到八九十年代,当时电话刚刚兴起,还没有手机的概念,只是有线电话,那么此时你 ...

  2. Docker Image管理学习笔记,ZT

    Docker Image管理学习笔记 http://blog.csdn.net/junjun16818/article/details/38423391

  3. 【C#编程基础学习笔记】4---Convert类型转换

    2013/7/24 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]4---Convert类型转换 ...

  4. 【C#编程基础学习笔记】6---变量的命名

    2013/7/24 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]6---变量的命名 ----- ...

  5. 1.C#基础学习笔记3---C#字符串(转义符和内存存储无关)

    技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com ------------------------------------- ...

  6. Java基础学习笔记总结

    Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...

  7. Mysql数据库基础学习笔记

    Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ...

  8. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  9. Java基础学习笔记(一)

    Java基础学习笔记(一) Hello World 基础代码学习 代码编写基础结构 class :类,一个类即一个java代码,形成一个class文件,写于每个代码的前端(注意无大写字母) XxxYy ...

  10. C#RabbitMQ基础学习笔记

    RabbitMQ基础学习笔记(C#代码示例) 一.定义: MQ是MessageQueue,消息队列的简称(是流行的开源消息队列系统,利用erlang语言开发).MQ是一种应用程序对应用程序的通信方法. ...

随机推荐

  1. I'm an artist who loves linux (转)

    My father got me a computer for graduation with 512MB RAM and a Pentium processor. It came with Wind ...

  2. JS技术大全(防止复制,粘贴等)

    1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <table border oncontextmenu ...

  3. oracle 分析函数

    认识分析函数 分析函数是什么? 分析函数是oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计值. 分析函数 ...

  4. 安装过程中出现PKG_CONFIG_PATH的问题解决方法

    在安装开源软件的过程中, 经常会碰到提示配置PKG_CONFIG_PATH路径, 或者直接提示没有安装某某库, 但是我们已经安装了啊. 其实造成这种情况的原因很简单, 就是安装的目录不能被依赖程序找到 ...

  5. Web打印--Lodop API

    Lodop是一款专业的WEB打印控件,其设计目标是简单易用.功能足够强大,开创WEB打印开发的新局面. Lodop设计者对WEB下的打印开发任务进行了分类汇总,高度抽象,设计出仅用几个功能函数,就可实 ...

  6. cs端调用Ajax

    private static string Descoder() { //ajax地址 string MealFilePath = "http://***/user/SetWebsite.a ...

  7. python 脚本中使用了第三方openpyxl 打包程序运行提示ImportError:cannot import name __version__

    最近写了一个脚本,脚本中使用了第三方openpyxl(openpyxl是使用 pip install openpyxl 下载的),先是使用py2exe打包程序,打包过程中提示很多文件没有包含,在没有仔 ...

  8. Salesforce 动态审批

    由于Salesforce只支持根据条件动态选择审批分支,如果我们想进一步支持动态根据页面的某种条件选择审批人,Salesforce是不支持的.因此我们只能通过override salesforce审批 ...

  9. Cucumber语法及测试用例<一>

    工作原因,最近一直在研究cucumber的 语法以及它和java之间的关系.鉴于是初学者且代码基础薄弱,我开始摸索前行,感谢分享博客且也在一路前行的人儿们. 1.基本语法为:此处举例两种区别一看即知- ...

  10. git笔记 常规使用

    1. 创建分支    git checkout -b fetch_name 2. 添加快照进行登记 git add . 3.登记到仓库 git commit -m 'message' git comm ...