文档章节

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

it_potato
 it_potato
发布于 2015/01/09 22:49
字数 859
阅读 439
收藏 1

        最近一直在捣鼓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安装 Docker之安装篇 二、Docker操作 搜索中央仓库可用镜像 $ docker search centos 2.1【镜像操作命令】 2.1.1 查看所有镜像docker images删除所有镜像 $ docker rmi $(docker im...

saxon_i
08/13
0
0
在Centos 7中使用 Docker搭建MySQL异地双向复制环境

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/48463397 (0)一些准备操作: Centos安装好之后(这里使用的是vm虚拟机) 将当...

jchubby
2015/09/15
0
0
Docker容器学习与分享12

Docker多主机管理 之前在一台Centos7上安装了Docker,如果是在多台主机上都安装Docker,用手动安装的方法不光效率低下,而且有可能出错,所以可以使用进行多台主机的Docker安装和管理。 具体...

顾北清
07/14
0
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

没有更多内容

加载失败,请刷新页面

加载更多

Hive的三种Join方式

Hive中就是把Map,Reduce的Join拿过来,通过SQL来表示。 参考链接:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Joins Common/Shuffle/Reduce Join Reduce Join在Hiv......

GordonNemo
23分钟前
1
0
Spark学习记录(三)核心API模块介绍

spark ------------- 基于hadoop的mr,扩展MR模型高效使用MR模型,内存型集群计算,提高app处理速度。 spark特点 ------------- 速度:在内存中存储中间结果。 支持多种语言。Scala、Java、P...

我爱春天的毛毛雨
28分钟前
1
0
PHP5、PHP7安装

11月13日任务 11.10/11.11/11.12 安装PHP5 11.13 安装PHP7 PHP官网www.php.net 当前主流版本为5.6/7.1 cd /usr/local/src/ wget http://cn2.php.net/distributions/php-5.6.32.tar.bz2 tar z......

zgxlinux
29分钟前
1
0
React 项目结构和组件命名之道

摘要: > * 原文地址:[structuring projects and naming components in react](https://hackernoon.com/structuring-projects-and-naming-components-in-react-1261b6e18d76) > * 原文作者:......

阿里云官方博客
29分钟前
3
0
无维护地稳定运行了8 年的 Hyperic HQ

最近在诊断一个系统意外停机时, 发现一个8年前部署部署的Hypeirc HQ 4.2,已经免维护,稳定运行了8年多。提供了及时的诊断信息。单击右下角的蓝色泡泡,可显示报警信息。

MartinKing
44分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部