Docker之配置Centos_ssh

获取最新的docker image 使用 docker pull centos即可。使用docker run -i -t centos /bin/bash就可以运行了。当初以为运行后直接配置个IP、启动SSH就行了,可搞了半天都不对,N多错误。后来找了下,Docker其实不是这个样子玩滴。

所以综合了下,还是自己根据Dockerfile来创建一个新的镜像吧,首先就是要编译Dockerfile,它的内容如下

[[email protected] shencj]# cat Dockerfile
# centos:ssh
#
# VERSION               0.0.1
FROM centos
MAINTAINER shencj "[email protected]"
RUN yum install -y openssh openssh-server openssh-clients
RUN mkdir /var/run/sshd
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
RUN sed -i ‘s/#UseDNS yes/UseDNS no/g‘ /etc/ssh/sshd_config
RUN sed -i ‘s/GSSAPIAuthentication yes/GSSAPIAuthentication no/g‘ /etc/ssh/sshd_config
RUN /bin/echo ‘root:123456‘ |chpasswd
RUN /bin/sed -i ‘s/.*session.*required.*pam_loginuid.so.*/session optional pam_loginuid.so/g‘ /etc/pam.d/sshd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" > /etc/default/local
EXPOSE 22
CMD /usr/sbin/sshd -D

注意:

这里的两条ssh-keygen要加上,如果不加ssh启动就会报错。因为网上大多都是Ubuntu的,当初我照着U的系统来做,根本没成功。理论上来说/usr/sbin/sshd -D就会创建了主机的rsakey,但U系统可以C系统就没成



创建镜像:docker build -t shencj/centos-ssh:v1 .
运行容器:docker run -d --name centos_ssh -p 4423:22 shencj/centos-ssh:v1
[[email protected] shencj]# docker ps -a
CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS              PORTS                  NAMES
677794c30ca9        shencj/centos-ssh:v1   "/bin/sh -c ‘/usr/sbi"   46 minutes ago      Up 46 minutes       0.0.0.0:4423->22/tcp   centos_ssh
登录:
[[email protected] shencj]# ssh [email protected] -p 4423
The authenticity of host ‘[localhost]:4423 ([::1]:4423)‘ can‘t be established.
RSA key fingerprint is 1e:f3:90:63:dc:b8:91:e4:f2:e4:26:c9:35:03:00:82.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘[localhost]:4423‘ (RSA) to the list of known hosts.
[email protected]‘s password:           #密码:123456
[[email protected] ~]#
[[email protected] ~]# exit          #退出
logout 
Connection to localhost closed. 
[[email protected] shencj]#

后续操作:

若在容器里修改ssh的配置文件/etc/ssh/sshd_config,要想使配置生效,需要重启容器

docker restart 677794c30ca9

因为运行容器时执行的命令cmd是/usr/sbin/sshd -D(启动sshd服务),这样修改的ssh配置就会生效

时间: 2024-11-08 20:43:24

Docker之配置Centos_ssh的相关文章

Docker 网络之pipework 工具(2)将Docker容器配置到本地网络环境中

为了使本地网络中的机器和Docker容器更方便的通信,我们经常会有将Docker容器配置到和主机同一网段的需求.这个需求其实很容易实现,我们只要将Docker容器和主机的网卡桥接起来,再给Docker容器配上IP就可以了.下面我们来操作一下,我主机A地址为192.168.1.107/24,网关为192.168.1.1,需要给Docker容器的地址配置为192.168.1.150/24.在主机A上做如下操作:安装pipework下载地址:wgethttps://github.com/jpetazz

Docker 镜像及Docker仓库配置 [四]

Docker 镜像及Docker仓库配置 [四] Docker 时间:2016年11月8日15:45:20 一.Docker 镜像介绍 Docker镜像构建分为两种,一种是手动构建,另一种是Dockerfile(自动构建) Docker镜像手动构建案例: 我们基于centos镜像进行构建,制作nginx镜像 [[email protected] ~]# docker run --name abcdocker -it centos[[email protected] /]# yum install

Docker Network 配置,自定义bridge网络

                    Docker Network 配置,自定义bridge网络      1.停止服务     service docker stop   2.关掉docker0     ifconfig docker0 down   3.删除docker     brctl delbr docker0   4.增加网桥br500     yum install bridge-utils       2, 网络配置     [[email protected] network

Docker中配置国内镜像

1. 为什么要为docker配置国内镜像 ??在正常情况下,docker有一个默认连接的国外官方镜像,在国外的网友访问该官方镜像自然不成问题,但是国内毕竟不是国外,由于国情不同,中国的网络访问国外官方镜像网速一向很慢,而且往往还会遭遇断网的窘境,所以说我们要想正常使用docker的镜像,那么我们就不得不配置相应的国内镜像. 2. 可以使用的国内镜像有哪些 ??Docker可以配置的国内镜像有很多可供选择,比如说:阿里云,网易蜂巢,DaoCloud,Docker中国区官方镜像等,这些都是可以提供给

centos7 docker 安装配置

docker快速入门测试 ########################################## #docker安装配置 #环境centos7 #配置docker阿里源 echo '#Docker [docker-ce-stable] name=Docker CE - Aliyun baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/ enabled=1 gpgcheck=1 gpgke

docker下配置mysql 主从

本机docker下配置mysql主从 首先安装docker mysql容器 $ docker pull mysql:5.6 拉取两个相同版本mysql 分别启动mysql 并设置root用户密码为admin: //主mysql docker run -d -e MYSQL_ROOT_PASSWORD=admin --name mysql-master -v /Volumes/docker/mysql/my-m.cnf:/etc/mysql/my.cnf -p 3307:3306 mysql:5.

Docker下配置nacos

前言 近段时间在学dubbo,dubbo-admin死活装不上,无论是本地还是docker,所以把目光投向了其他配置中心,我选定的是阿里新开源的nacos. 正文 拉取镜像到本地docker docker pull nacos/nacos-server 新建nacos容器 docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server 其中env参数是指定容器所处环境,这里是指建立单机版的nacos

docker的配置和安装

由于是win10家庭版,只能安装win7版本的docker (参考链接:https://www.cnblogs.com/jimmyshan-study/p/11161428.html, https://www.cnblogs.com/sumafan/p/10750240.html, https://www.cnblogs.com/sumafan/p/10750240.html, https://blog.csdn.net/u013796473/article/details/72846518,

Docker网络配置、Docker部署分布式项目

目标 1.Docker网络配置 2.Docker部署SpringCloud项目 Docker网络配置 Docker网络模式介绍 Docker在创建容器时有四种网络模式:bridge/host/container/none,bridge为默认不需要用--net去指定,其他三种模式需要在创建容器时使用--net去指定 1.bridge模式(默认模式) docker run时使用--net=bridge,这种模式会为每个容器分配一个独立的Network Namespace, 同一个宿主机上的所有容器会