Docker容器Centos容器安装openssh
前面在部署容器,使用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的更多相关文章
- Docker实现CentOS容器SSH远程登录
Docker实现CentOS容器SSH远程登录 https://blog.csdn.net/A632189007/article/details/78625378 这里根据Dockerfile方式构建 ...
- docker~在centos容器中安装新程序
上一篇我们使用了阿里加速器安装了centos镜像,然后创建了一个新容器,运行了这个镜像,这一讲我们来为这个镜像添加一些应用程序,然后再保存容器,push容器到仓储,大家就可以直接pull我生产的容器了 ...
- docker启动centos容器后如何用putty连接
在前面的文章中,我提到过,win10 docker启动容器时,只有配置了宿主机和docker容器的端口映射,外部应用才能访问到容器中的服务,比如映射到Nginx的80端口.现在我将宿主机的某个端口映射 ...
- Docker在centos下安装以及常见错误解决
系列目录 Docker安装(使用阿里云镜像) Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收 ...
- win7下docker环境centos容器中安装mysql5.7
docker环境基于镜像skiychan/nginx-php7,进行安装 ps:skiychan/nginx-php7此镜像已封装nginx1.15.3+php7.2.9 1.环境配置 配置共享文件夹 ...
- Docker之centos 简单安装
centos6因为系统自带的可执行的应用程序与 docker 包名字发生冲突,所以重新命名 docker 的RPM包名字为 docker-io. 首先卸载docker包 sudo yum -y rem ...
- Docker容器Centos不能使用systemctl命令问题
注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 本文源链接:https://www.cnblogs.com/chloneda/p/bug-dock ...
- Docker在CentOS下的安装
工欲善其事,必先利其器. 在我们以后的Docker学习中,都推荐使用CentOS6.5作为学习平台,毕竟Docker的内核也是基于Linux的.本文主要分享笔者在CentOS下的安装Docker的过程 ...
- Docker 实战(二)——centos7镜像安装nginx,将安装nginx的centos容器生成新的镜像,并导出
Docker centos7镜像安装nginx 1.安装docker 使用yum安装docker不再重复:见 Linux常用命令 2.pull centos 1)在docker仓库中搜索centos ...
随机推荐
- React 从零搭建项目 使用 create-react-app脚手架
一.安装 npm install -g create-react-app 版本校验:create-react-app --version 二.创建项目 create-react-app指令默认调用np ...
- iOS 设计
APP引导页设计经验分享 http://www.cocoachina.com/design/20150615/12126.html 获取app安装的进度,6种不同的加载指示 http://www.co ...
- 【datagrid】动态加载列 2016-01-03 16:32 2013人阅读 评论(19) 收藏
之前我们的项目在前台显示只需要把数据从数据库读出来进行显示就可以,datagrid的表头字段都是写死的,把数据往表里一扔,就基本没什么事儿了,结果客户前几天要求,其中一个字段不能是死的,应该是有多少项 ...
- git错误——Eclipse git commit错误;Committing changes has encountered a problem An Internal error occured
背景 在使用eclipse时,使用git commit 提交代码时,出项如下错误 解决方法 在工程目录下找到 .git 文件夹 ,找到里面的 index.lock 文件,然后删掉这个文件就可以了,如下 ...
- 03寻找最小的k个数
题目描述:查找最小的k个元素 题目:输入n个整数,输出其中最小的k个. 例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4. 1:最简单 ...
- 全文索引——CONTAINS 语法
Like直接在数据据中查找可以查到所有所需记录但是会扫描整个表会影响性能CONTAINS是基于全文索引进行查询,查询结果受系统全文索引分词的方法影响查询结果会不全.Select * FROM A Wh ...
- HZOJ 方程的解
乍一看还以为是道水题,没想到这玩意这么难搞. 看题显然是exgcd,然而exgcd求的是一个解而不是解的个数(考试的时候不记得通解的式子然后挂了). 对于40%的数据,直接枚举计数即可. 对于另为20 ...
- linux扫盲之CPU模式
相信研究linux的大大都知道linux有实模式.保护模式.虚拟模式三种. 不多说,拷贝黏贴! 80386开始,cpu有三种工作方式:实模式,保护模式和虚拟8086模式.只有在刚刚启动的时候是rea ...
- C# 星期相关代码实例
本文为引用文章 仅作整理自用 原文链接: https://www.cnblogs.com/yxyl/p/9992841.html @网吧看压力大 从周一到周日的顺序,获取排序数值: int i = D ...
- input submit标签的高度和宽度与input text的差异
<input type="text"> 时设置input的高度和border,最后元素的高度和宽度包含了border的值. <input type="s ...