前面在部署容器,使用docker容器作为jenkins的Slave节点时,会发现在使用centos作为镜像源拉去容器,不能正常连接,最后是因为centos的sshd的问题

下面专门是centos容器安装sshd的实验

1. 拉去centos的镜像

[root@node6 ~]# docker pull centos

[root@node6 ~]# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu latest days ago .2MB
jenkins/jenkins lts fac78e370c0b days ago 568MB
centos latest 0f3e07c0138f weeks ago 220MB

2. 运行一个容器

[root@node6 ~]# docker run -it centos /bin/bash

安装相关软件

[root@f2320c5d3c54 /]# yum -y update

[root@f2320c5d3c54 /]# yum -y install net-tools passwd cracklib-dicts

3. 创建一个用户,并设置密码

[root@f2320c5d3c54 /]# useradd jenkins

[root@f2320c5d3c54 /]# echo "p@ssw0rd"|passwd --stdin  jenkins

Changing password for user jenkins.
passwd: all authentication tokens updated successfully

4. 安装sshd

[root@f2320c5d3c54 /]# yum provides sshd

Last metadata expiration check: :: ago on Mon Nov   :: .
openssh-server-.8p1-.el8.i686 : An open source SSH server daemon
Repo : BaseOS
Matched from:
Filename : /usr/sbin/sshd openssh-server-.8p1-.el8.x86_64 : An open source SSH server daemon
Repo : BaseOS
Matched from:
Filename : /usr/sbin/sshd

[root@f2320c5d3c54 /]# yum -y install openssh-server-7.8p1-4.el8.x86_64

5. 安装一些其他应用

安装maven

[root@f2320c5d3c54 /]# yum -y install maven

yum安装maven会自己安装Java作为依赖

[root@f2320c5d3c54 /]# java -version

openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK -Bit Server VM (build 25.232-b09, mixed mode)

[root@f2320c5d3c54 /]# mvn -v

Apache Maven 3.5. (Red Hat 3.5.-)
Maven home: /usr/share/maven
Java version: 1.8.0_232, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.-openjdk-1.8.0.232.b09-.el8_0.x86_64/jre
Default locale: en_US, platform encoding: ANSI_X3.-
OS name: "linux", version: "3.10.0-957.27.2.el7.x86_64", arch: "amd64", family: "unix"

安装git

[root@f2320c5d3c54 /]# yum -y install git

6. 尝试启动sshd

[root@f2320c5d3c54 /]# /usr/sbin/sshd -D

Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
sshd: no hostkeys available -- exiting.

[root@f2320c5d3c54 /]# ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''

[root@f2320c5d3c54 /]# ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''

[root@f2320c5d3c54 /]# ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''

Generating public/private dsa key pair.
Your identification has been saved in /etc/ssh/ssh_host_ed25519_key.
Your public key has been saved in /etc/ssh/ssh_host_ed25519_key.pub.
The key fingerprint is:
SHA256:uE0sGjrBYgq2t30d0ICWRP3o4Mn+ZhnAH4TX/1riVsA root@f2320c5d3c54
The key's randomart image is:
+---[DSA ]----+
| oo= . |
| = = . |
| o o = o |
| . + * o E |
|ooo + O S o |
|=..o * O . . + |
|..o.o . = o = |
| ..o. = . + |
| . .=. . |
+----[SHA256]-----+

[root@f2320c5d3c54 /]# /usr/sbin/sshd -D &

[root@f2320c5d3c54 /]# ps -a

PID TTY          TIME CMD
pts/ :: sshd
pts/ :: ps

7. 已经启动,sshd安装完成

退出,并保存到镜像

[root@f2320c5d3c54 /]# exit

[root@node6 ~]# docker ps -a

CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                      PORTS               NAMES
37e4f2be0a41 5f2bf26e3524 "/bin/bash" minutes ago Up minutes sweet_hypatia
f2320c5d3c54 centos "/bin/bash" minutes ago Exited () seconds ago compassionate_elbakyan
b119e7f28b50 jenkins/jenkins:lts "/sbin/tini -- /usr/…" hours ago Exited () hours ago jenkins_prod

[root@node6 ~]# docker commit f2320c5d3c54 centos_jenkins

sha256:deca1dcb74bebefb77f9f9ca4328131e52332815d766cace00a16702351e1f8a

[root@node6 ~]# docker images

REPOSITORY                                    TAG                 IMAGE ID            CREATED             SIZE
centos_jenkins latest deca1dcb74be minutes ago 703MB
dftbcros.mirror.aliyuncs.com/library/ubuntu 16.04 5f2bf26e3524 days ago 123MB
jenkins/jenkins lts fac78e370c0b days ago 568MB
centos latest 0f3e07c0138f weeks ago 220MB

ssh安装完成

Docker容器Centos容器安装openssh的更多相关文章

  1. Docker实现CentOS容器SSH远程登录

    Docker实现CentOS容器SSH远程登录 https://blog.csdn.net/A632189007/article/details/78625378 这里根据Dockerfile方式构建 ...

  2. docker~在centos容器中安装新程序

    上一篇我们使用了阿里加速器安装了centos镜像,然后创建了一个新容器,运行了这个镜像,这一讲我们来为这个镜像添加一些应用程序,然后再保存容器,push容器到仓储,大家就可以直接pull我生产的容器了 ...

  3. docker启动centos容器后如何用putty连接

    在前面的文章中,我提到过,win10 docker启动容器时,只有配置了宿主机和docker容器的端口映射,外部应用才能访问到容器中的服务,比如映射到Nginx的80端口.现在我将宿主机的某个端口映射 ...

  4. Docker在centos下安装以及常见错误解决

    系列目录 Docker安装(使用阿里云镜像) Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收 ...

  5. win7下docker环境centos容器中安装mysql5.7

    docker环境基于镜像skiychan/nginx-php7,进行安装 ps:skiychan/nginx-php7此镜像已封装nginx1.15.3+php7.2.9 1.环境配置 配置共享文件夹 ...

  6. Docker之centos 简单安装

    centos6因为系统自带的可执行的应用程序与 docker 包名字发生冲突,所以重新命名 docker 的RPM包名字为 docker-io. 首先卸载docker包 sudo yum -y rem ...

  7. Docker容器Centos不能使用systemctl命令问题

    注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 本文源链接:https://www.cnblogs.com/chloneda/p/bug-dock ...

  8. Docker在CentOS下的安装

    工欲善其事,必先利其器. 在我们以后的Docker学习中,都推荐使用CentOS6.5作为学习平台,毕竟Docker的内核也是基于Linux的.本文主要分享笔者在CentOS下的安装Docker的过程 ...

  9. Docker 实战(二)——centos7镜像安装nginx,将安装nginx的centos容器生成新的镜像,并导出

    Docker centos7镜像安装nginx 1.安装docker 使用yum安装docker不再重复:见  Linux常用命令 2.pull centos 1)在docker仓库中搜索centos ...

随机推荐

  1. AbstractExecutorService的submit方法概要介绍

    1.概述 ExecutorService是JDK提供的框架,它简化了异步模式下的任务执行.一般来说,ExecutorService会自动提供一个线程池和API,用于为其分配任务. 2.实例化Execu ...

  2. HDU-1114_Piggy-Bank

    Piggy-Bank Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem ...

  3. 阿里靠什么支撑 EB 级计算力?

    作者 关涛 阿里云智能事业群 研究员 导读:MaxCompute 是阿里EB级计算平台,经过十年磨砺,它成为阿里巴巴集团数据中台的计算核心和阿里云大数据的基础服务.去年MaxCompute 做了哪些工 ...

  4. @atcoder - AGC035E@ Develop

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定初始集合为 1 ~ N 的全集,并给定一个 K. 每次对于当 ...

  5. 4.2.1 Data Flow-File Write-基本过程

  6. oracle函数 userenv(parameter)

    [功能]返回当前会话上下文属性. [参数]Parameter是参数,可以用以下参数代替: Isdba:若用户具有dba权限,则返回true,否则返回false. Language:返回当前会话对应的语 ...

  7. Python基础:26模块

    一:模块和文件 1:模块是逻辑上组织 Python 代码的方法,文件是物理层上组织模块的方法.因此,一个文件被看作是一个独立模块,一个模块也可以被看作是一个文件. 模块的文件名就是模块的名字加上扩展名 ...

  8. A.The beautiful values of the palace 南京网络赛

    A对于知道了解主席树性质的人来说,的确算是一个模板题目 题目在于给一个螺旋矩阵,以及一些权值,问在二维区间内权值和是多少? 对于螺旋矩阵权值来说,计算每个点的值,只需要O1计算即可.我们可以通过计算内 ...

  9. 因为 Java 和 Php 在获取客户端 cookie 方式不同引发的 bug

    遇到个 Java 和 Php 在获取客户端 cookie 方式不同导致跨系统的问题.所以写了这篇博客梳理下相关知识. 实验 下面通过两个简单的实验,来看Java和Php在获取web请求中的cookie ...

  10. 使用sqlyog链接多个主机的数据库