前面在部署容器,使用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. AtCoder Regular Contest 082 D Derangement

    AtCoder Regular Contest 082 D Derangement 与下标相同与下个交换就好了.... Define a sequence of ’o’ and ’x’ of lengt ...

  2. MapReduce数据流-Reduce

  3. Project Euler Problem 5-Smallest multiple

    对每个数字分解素因子,最后对每个素因子去其最大的指数,然后把不同素因子的最大指数次幂相乘,得到的就是最小公倍数 python不熟练,代码比较挫 mp = {} def process(n): i = ...

  4. github下载慢,轻松提速教程

    获取github的IP地址访问:https://www.ipaddress.com/ 网址 依次获取以下三个网址的IP github.comgithub.global.ssl.fastly.netco ...

  5. java什么是方法(Method)?

    方法是一组为了实现特定功能的代码块的集合.方法在语法上的功能主要有以下两个: ①:结构化代码 将代码按照功能进行组织,使代码的结构比较清晰,容易阅读和修改,也就是程序的可维护性强. ②:减少代码重复 ...

  6. Codeforces Round #196 (Div. 1 + Div. 2)

    A. Puzzles 对\(f[]\)排序,取连续的\(m\)个. B. Routine Problem 考虑\(\frac{a}{b}\)和\(\frac{c}{d}\)的大小关系,适配后就是分数的 ...

  7. 为什么有的文件从SVN上更新不下来

    前几天使用eclipse的插件从SVN上更新代码,将全部的代码更新下来后启动项目,前台报错说有些js文件找不到,后来检查我的工程里确实没有那些文件,经过检查发现SVN上却有这些文件,那为什么更新不下来 ...

  8. BZOJ 4236 "JOIOJI"(前缀和+map+pair)

    传送门: [1]:BZOJ [2]:洛谷 •题解 定义数组 a,b,c 分别表示 'J' , 'O' , 'I' 的前缀和: 要想使区间 (L,R] 满足条件当且仅当 a[R]-a[L] = b[R] ...

  9. C# 7.2 通过 in 和 readonly struct 减少方法值复制提高性能

    在 C# 7.2 提供了一系列的方法用于方法参数传输的时候减少对结构体的复制从而可以高效使用内存同时提高性能 在开始阅读之前,希望读者对 C# 的值类型.引用类型有比较深刻的认知. 在 C# 中,如果 ...

  10. The bind() Method

    The bind() method was added in ESMAScript 5, but it is easy to simulate in ESMAScrpt 3. As its name ...