文档章节

centos7中安装一个可以ssh登陆的docker容器

it_potato
 it_potato
发布于 2015/01/09 22:49
字数 859
阅读 346
收藏 1
点赞 0
评论 0

        最近一直在捣鼓docker,这个东东着实让我兴奋了几天,下面分享下安装过程。

因为docker要求的linux内核版本较高,所以我在vbox中安装了个centos7。至于centos7如何安装,就不啰嗦了,这里用的是最小化的安装。

        首先配置网卡,保证虚拟机能正常的访问网络,因为安装docker需要联网。我一般习惯在安装虚拟机时设置两个网卡,一个使用nat方式连接,负责上网;一个使用host only方式连接,用来主机到虚拟机的连接。然后启用两个网卡,最简单的方式就是输入dhclient方式,系统会自动分配ip给网卡。

首先,安装docker的命令:

# yum -y install docker

安装完成后,可以使用下面的命令查看可以使用的镜像:

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

此时没有任何的镜像可用,无法启动容器,所以我们需要下载镜像。这一步我们可以选择下载各种不同系统的镜像,这里依然选择最熟悉的centos,这一步docker会联网下载镜像文件:

# docker pull centos

等到镜像下载完成后,再使用docker images命令会看到有几个centos的镜像:

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE


首先来搭建一个可以通过ssh访问的docker容器。

1. 启动一个docker容器:

# docker run -i -t centos /bin/bash

这样就会新建一个docker容器,并且进入容器的bash中,

2.  安装sshd:

# yum -y install openssh-server

3.  启动sshd,这里要用绝对路径,查看某个命令的路径可以用whereis或which:

# /usr/sbin/sshd -D

centos下启动sshd的时候会出现下列错误:

Could not load host key: /etc/ssh/ssh_host_rsa_key

Could not load host key: /etc/ssh/ssh_host_dsa_key

依次执行下列命令即可:

ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key        #直接回车即可

ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key        #直接回车即可

ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ""

按后再启动sshd服务应该是没问题了。

4.  完成后,编辑sshd_config配置文件,找到UsePAM yes这一段配置,将其改成UsePAM no

#UsePAM no
UsePAM yes
改成
UsePAM no
#UsePAM yes

    如果不修改这段的话,使用ssh登陆到容器里面来的时候会马上退出。

5.  安装passwd,并修改root的密码:

# yum -y install passwd
# passw root
Changing password for user root.
New password:

6.  改完密码执行exit命令退出,这时会回到宿主机器的shell,执行下列命令将容器提交到镜像:

# docker commit containerid imagename

    这里的containerid是容器的id,imagename就是提交时候镜像的名称,第一次提交的时候最好使用一个新的名称,不要覆盖了原有的干净的centos镜像。

    容器id可以通过docker ps -l命令查看到,启动容器后默认的主机名其实就是容器id。

7.  通过docker run启动一个新的容器,参数-d表示后台运行,-p表示docker到主机的端口的映射。

# docker run -d -p 10022:22 imagename /usr/sbin/sshd -D

    如果启动没问题的话,就可以登录到容器了:

# ssh root@localhost -p 10022

    登录后我们就可以在里面安装各种软件搭建各种环境了。

© 著作权归作者所有

it_potato
粉丝 3
博文 3
码字总数 1866
作品 0
武汉
程序员
[docker]一些经常用到的docker容器启动方法

busybox 命令参考 参考: https://k8smeetup.github.io/docs/concepts/cluster-administration/logging/ https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#dns-po......

iiiiher
2017/10/27
0
0
使用ssh连接docker容器

原文地址:http://blog.csdn.net/qq34021712/article/details/73379851 前言: 使用ssh连接docker容器,需要给docker容器先分配好ip之后才可以开启ssh服务,才能使用ssh连接 参考文章:给docke...

haoxiaoyong1014
04/19
0
0
Dockerfile:制作可ssh登录的镜像

我们先手动制作一个可以ssh登录的容器,然后按照操作步骤编写Dockerfile,用docker build根据Dockerfile创建镜像,最后我们可以用这个镜像来生成可ssh登录的容器了。 一、首先创建一个容器并...

张斌_青岛
2014/12/02
0
0
Docker使用系列二:CentOS 6.5 制作可以ssh登录的Docker镜像

Docker使用系列一我们把镜像源改为了阿里云的,方便后续的操作。 执行这个命令就把源地址改为阿里的: curl https://git.oschina.net/feedao/Docker_shell/raw/start/ali-centos.sh | sh 第一...

活的自由
2014/04/18
0
26
Docker搭建Hadoop集群

在学习Hadoop过程中,想要搭建Hadoop分布式集群,往往需要几台服务器或者再一台机器上搭建几台虚拟机;这两种方式搭建Hadoop集群都不是很方便,个人很少自己拥有几台服务器,或者电脑内存够大...

凌得涂
05/15
0
0
docker创建支持ssh服务的centos镜像

以centos为基础,目的使用ssh服务远程连接docker容器 环境:宿主机centos7,直接搜索docker的centos镜像,下载最新版本 1、先按照docker:yum install -y epel-release yum install -y dock...

射手Mr吴
2016/07/13
0
0
centos7下安装docker(14安装docker machine​)

为所有host安装和配置docker 之前我们手工安装了一个docker host: 1.安装https CA证书 2.添加GPG key 3.添加docker apt源 4.安装docker 对于多主机的环境手工方式效率低且不容易保证一致性,...

cstsncv
2017/11/10
0
0
centos 实现ssh远程连接docker

一、查看当前镜像 上面的centos 是通过docker pull centos拉取获得的最新centos7 版本 二、创建一个容器,并配置ssh、tomcat、jdk 2.1 创建一个容器(命名为base_centos) 2.2 安装net-tools...

Mr_Tea
2016/10/01
372
0
通过docker部署hadoop集群

初学者,利用docker部署hadoop集群。 根据他人的思路自己操作了一遍。 原作者文章地址: http://blog.csdn.net/xu470438000/article/details/50512442 作者将镜像分了好几个层次,这里可以只...

白话
06/26
0
0
dockerfile制作

一、Dockerfile 简介及书写规则 Dockfile 是一种被Docker 程序解释的脚本,Dockerfile 由一条一条的指令组成,每条指令对应Linux 下面的一条命令。Docker 程序将这些Dockerfile 指令翻译真正...

Mr_chen
2017/07/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

DUBBO 详细介绍

摘要: 主要核心部件: Remoting: 网络通信框架,实现了 sync-over-async 和 request-response 消息机制. RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能 Registry: 服务目录框架...

明理萝
16分钟前
0
1
4 个快速的 Python 编译器 for 2018

简评:Python 和其他的解释型语言一样经常被吐槽性能不行,所以开发人员为了提升性能创建了不少编译器,本文则选取其中的四个做了基准测试。 Python 其实是一种相当快的语言,但它并不像编译...

极光推送
19分钟前
0
0
spring boot注册多个MQ服务器的问题

关于注册到多个MQ源的文章已经有很多了,这里记录一下声明queue的坑; 如果使用注册bean的方式声明queue,会导致声明的queue同时被注册到所有的MQ源上; //如果使用下面的声明方式,que...

placeholder
21分钟前
0
0
Java面试基础篇——第九篇:BIO,NIO,AIO的区别

现在IO模型主要分三类:BIO(同步阻塞IO),NIO(同步非阻塞IO),AIO()。 先来看看BIO。 1. BIO 服务端接受到请求后,要指派或新建一个线程去处理客户端的IO请求,直到收到断开连接的指令。这么做...

developlee的潇洒人生
26分钟前
0
0
@RequestMapping @ResponseBody 和 @RequestBody 用法与区别

1.@RequestMapping 国际惯例先介绍什么是@RequestMapping,@RequestMapping 是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为...

特拉仔
28分钟前
1
0
基于 HTML5 结合互联网+ 的 3D 隧道

前言 目前,物资采购和人力成本是隧道业发展的两大瓶颈。比如依靠民间借贷,融资成本很高;采购价格不透明,没有增值税发票;还有项目管控和供应链管理的问题。成本在不断上升,利润在不断下...

xhload3d
30分钟前
0
0
济南小程序热度分析

原文链接:http://www.jnqianle.cn/company/2072.html

tianma3798
31分钟前
1
0
大数据软件

beats 采集 kafka spark hive es grafana zeppelin

ArlenXu
33分钟前
0
0
Mac item2常用快捷键

标签 新建标签:command + t 关闭标签:command + w 切换标签:command + 数字 command + 左右方向键 切换全屏:command + enter 查找:command + f 分屏 水平分屏:command + d 垂直分屏:c...

说回答
36分钟前
0
0
mac常用软件

1.excel for mac http://www.pc6.com/mac/114205.html

小黑202
36分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部