docker centos:latest 使用 sshd
一、术语
1.容器
很多用户在接触Docker 之初都会认为容器就是一种轻量级的虚拟机,但实际上,容器和虚拟机有非常大的区别。从根本形态上来看,容器其实就是运行在操作系统上的一个进程,只不过加入了对资源的隔离和限制。
2.镜像
容器是一个动态的概念,而镜像是一个相对静止的概念。简单来说,镜像就是容器中的文件系统。镜像就是由Layered FS 组成的,并且它是只读的。当容器运行时,会在镜像之上再加上一层可读可写层。
3.容器和镜像的关系
容器和镜像是密切相关的,二者缺一不可,也是可以相互进行转换的。通过docker run 即可启动一个容器运行。当需要将容器转化为镜像时,可以通过docker commit 进行转化。
4.安装docker
https://www.docker.com/community-edition
二、拉取远程镜像 centos:latest
docker pull centos:latest
该命令会去远程镜像库拉取,拉取成功后使用命令查看
docker images
三、创建容器
docker run --name centosCon1 -i -t -p 5001:22 centos:latest /bin/bash
docker run 参数详解:
1. --name --表示容器名称
2. -i -- 以交互模式运行容器,通常与 -t 同时使用
3. -t -- 为容器重新分配一个伪输入终端,通常与 -i 同时使用
4. -p -- 指定容器暴露的端口
5. 5001:22 -- 表示将宿主机5001端口映射到容器中暴露的22端口
6. centos:latest -- docker images 列表中的 REPOSITORY:TAG
7. /bin/bash --表示使用bash
四、配置sshd
yum -y install openssh-server
若有遇到问题,请查看docker centos:last 开启sshd 遇到的证书问题
五、修改root密码 [如果未使用--privileged,这里的root只是普通用户]
passwd root
六、提交当前容器为新的镜像或覆盖原镜像
1.退出当前容器
exit
2. 查到被我们修改的容器ID
docker ps -a
3.提交当前容器为新的镜像或覆盖原镜像
docker commit {容器ID} {镜像名称}
说明:
1.{镜像名称}既可以为新的名称也可以直接覆盖原始镜像
2.docker run 会根据镜像创建一个容器,如果没有手动执行 docker rm {容器ID},该容器将会一直存在,你可以启动、停止、登录容器;命令如下:
2.1 启动:docker start {容器名称}
2.2 停止:docker stop {容器名称}
2.3 强制停止:docker kill {容器ID}
2.4 登录容器:docker attach {容器名称} --容器必须启动; 一个容器支持多个attach,这将会出现屏幕共享效果
3.使用docker commit后,我们刚才配置的带有sshd的容器将生成新镜像或覆盖原始镜像,我们又可以基于它来创建新的容器
七、使用Xshell+WinSCP连接容器
host:127.0.0.1
port:5001
User:root
pwd:******
docker centos:latest 使用 sshd的更多相关文章
- docker centos:last 开启sshd 遇到的证书问题
启动sshd: # /usr/sbin/sshd 一.问题描述 这时报以下错误: [root@ xxx/]# /usr/sbin/sshd Could not load host key: /etc/ ...
- Docker Centos安装Openssh
环境介绍: Docker版本:1.5.0 镜像:docker.io:centos latest 操作步骤: 1.启动镜像 docker run -ti centos /bin/bash 2.安装pas ...
- Docker Centos安装Redis以及问题处理
之前一篇文章 Redis安装及主从配置 介绍了redis的安装配置,另一篇文件介绍了 Docker Centos安装Openssh .今天将两篇文件结合一下——在Docker Centos环境下搭建r ...
- Docker Centos安装Mysql5.6
之前一篇随笔<Docker Centos安装Openssh> 写的是如何在基础的centos镜像中搭建ssh服务,在此基础上再搭建其他服务.本文继续介绍在centos_ssh基础上搭建my ...
- Docker -CentOS 6.5上安装
开始安装daoker之旅: 1. [root@localhost ~]# uname -r -.el6.x86_64 2. [root@localhost ~]# cat /etc/issue Cen ...
- Docker CentOS / Ubuntu容器开启 SSH 服务
Docker CentOS / Ubuntu容器开启 SSH 服务 在CentOS容器内执行 yum install passwd openssl openssh-server -y # Ubuntu ...
- AspNetCoreapi 使用 Docker + Centos 7部署
好久没有更新文章了,前段时间写了一系列的文章放到桌面了,想着修修改改,后来系统中勒索病毒了还被公司网络安全的抓到是我电脑,后来装系统文章给装丢了.然后好长一段时间没有写了. 今天记录一下AspNetC ...
- 基于docker的centos:latest镜像制作nginx的镜像
Dockerfile和nginx.repo在同一目录下 先创建nginx.repo [root@localhost nginx]# cat nginx.repo [nginx] name=nginx ...
- Docker - CentOS 安装 Docker 和 Docker-Compose
目录 介绍 Docker Docker-Conpose 安装 Docker CE 系统要求 使用 YUM 安装 配置加速器 安装 Docker-Compose 介绍 Docker Docker 是一个 ...
随机推荐
- 【转】vi编辑只读文档无法保存的解决办法
vi编辑只读文档无法保存的解决办法 使用普通用户编辑nginx.conf 等配置文件: 保存的时 候会提示:没有Root Permission 可以用如下方法解决:保存时加上::w !sudo tee ...
- 洛谷 P2389 电脑班的裁员 解题报告
题意: 给定一段长为N的序列,选取其中的至多M段使这些子段和最大. 当N=1000时,我们可以采用动态规划解法 令\(dp[i][j][k]\)代表当前选至位置\(i\)处于第\(j\)段当前是否选取 ...
- boost::asio::io_service类
大部分使用Boost.Asio编写的代码都会使用几个io_service的实例.io_service是这个库里面最重要的类:它负责和操作系统打交道,等待所有异步操作的结束,然后为每一个异步操作调用其完 ...
- 从 php 源码看 php 中的对象
从一个简单的例子说起: class Person { public $name; public $age; public function __construct($name, $age) { $th ...
- python【文件操作:读写文件】
文件读写模式
- Dockerfile基本语法
Dockerfile的组成 Dockerfile分为四部分: 基础镜像信息 维护者信息 镜像操作指令 容器启动时执行指令 Dockerfile指令说明 FROM 格式为FROM <image&g ...
- GO_01:Linux-CentOS之Go语言环境配置
1.下载安装 下载当前最新版本,通过wget命令,当然你也可以手动下载之后再传入到Linux中,都可以. 本文安装的是1.8版本.由于Go语言的要求,需要配置gopath,而对应再gopath里按照g ...
- 进化论VS中性突变理论
进化论VS中性突变理论 查尔斯·罗伯特·达尔文(英语:CharlesRobert Darwin,1809年2月12日-1882年4月19日),英国生物学家,其“进化论”被列为19世纪自然科学的三大发现 ...
- aspx <%= %> 绑定变量问题及解决方法
aspx页面,前台页面需要用到后台变量字段的时候我们一般使用 <%= 变量 %>,多数情况下使用正常. 但是有的时候就会遇到变量解析被编码的情况,特别是是在head当中css引用lin ...
- Spring在Web容器启动时执行初始化方法
需求:在tomcat启动时开启一个定时任务. 想法:容器启动时执行方法,最容易想到的就是servlet中可以配置load-on-startup,设置一个正整数也就可以随容器一起启动. 问题:上面的方法 ...