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 ...
随机推荐
- 2019-6-11-WPF-如何在应用程序调试启动
title author date CreateTime categories WPF 如何在应用程序调试启动 lindexi 2019-06-11 09:32:35 +0800 2018-2-13 ...
- Python基础:00概述
1:续行符 在Python中,一般是一行一个语句.一个过长的语句可以使用反斜杠( \ )分解成几行. 有两种例外情况,一个语句不使用反斜线也可以跨行.在使用闭合操作符时,单一语句可以跨多行,例如:在含 ...
- react组件之间的参数传递
1.父组件向子组件传递参数 class Child extends Component { componentDidMount(){ let name = this.props.default; co ...
- Websocket 群聊功能
websocket 群聊 前提关闭防火墙 写入代码 from flask import Flask,request,render_template from geventwebsocket.handl ...
- Cutting Bamboos 主席树+二分+前缀和
二分第x次砍的位置,然后用线段树查询小于这个位置的数的个数和值的和.然后判断即可 注意!!!主席树是通过动态开点实现的,本身已经不用再从1开始了,而本题开的范围也应该是0,100000 而不是1,10 ...
- ifram子页面与父页面的方法相互调用
parent.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...
- 【原生JS】简单取随机数
因为js本身取随机数仅能取 0 到 1之间的数,所以..... 取 1 - 10之间的随机数. function getSJS(x,y,z){ var int = null; while(int &g ...
- Python--day19--os模块
os模块 os模块是与操作系统交互的一个接口 os.makedirs('dirname1/dirname2') 可生成多层递归目录 os.removedirs('dirname1') 若目录为空,则删 ...
- SVN 树冲突解决详解
https://blog.csdn.net/xgf415/article/details/75196714 SVN 冲突包括 内容冲突:当两名(或更多)开发人员修改了同一个文件中相邻或相同的行时就会发 ...
- Jmeter完整Demo
1:创建一个线程组 2:添加一个cookie管理器 3:设置你的信息头管理器:application/json;text/plain;charset=UTF-8 44 4:添加一个用户参数,做全局变量 ...