前面在部署容器,使用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. iOS runtime整理

    iOS利用Runtime自定义控制器POP手势动画 http://www.cocoachina.com/ios/20150401/11459.html  Objective C运行时(runtime) ...

  2. 归并排序及应用 (nyoj 117 求逆序数)

    求逆序数 时间限制:2000 ms  |  内存限制:65535 KB 难度:5   描述 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序.一个排列中 ...

  3. 《C语言深度解剖》学习笔记之预处理

    第3章 预处理 1.下面两行代码都是错的.因为注释先于预处理指令被处理,当这两行被展开成“//……”和“/*……*/”时,注释已处理完毕,所以出现错误 #define BSC // #define B ...

  4. JVM问题诊断

    https://gitbook.cn/books/5d2d822f175a450263e945f9/index.html

  5. Project Euler Problem 14-Longest Collatz sequence

    记忆化搜索来一发.没想到中间会爆int #include <bits/stdc++.h> using namespace std; const int MAXN = 1000000; in ...

  6. springmvc 返回json数据给前台jsp页面展示

    spring mvc返回json字符串的方式 方案一:使用@ResponseBody 注解返回响应体 直接将返回值序列化json            优点:不需要自己再处理 步骤一:在spring- ...

  7. oracle使用日期

    当使用日期是,需要注意如果有超过5位小数加到日期上, 这个日期会进到下一天! 例如: 1. SELECT TO_DATE(‘01-JAN-93’+.99999) FROM DUAL; Returns: ...

  8. Project Euler Problem 8-Largest product in a series

    直接暴力 写完才想到,代码写矬了,扫一遍就出结果了,哪还用我写的这么麻烦 ss = '''73167176531330624919225119674426574742355349194934 9698 ...

  9. SpringBoot2集成Activiti6

    Activiti是领先的轻量级的,以Java为中心的开源BPMN(Business Process Modeling Notation)引擎,实现了真正的流程自动化.下面介绍如何在SpringBoot ...

  10. JS正则验证两位小数,验证数字最简单正则表达式大全

    <h3>输入完按回车后即可验证!</h3> 正整数: <input type="text" size="20" onkeydown ...