通过SSH连接Docker虚拟机

树叶云

Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。

Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。Redhat 已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 产品中广泛应用。

一、安装docker

这里就不演示怎么安装了,网上有很多,也可以看这个https://www.runoob.com/docker/centos-docker-install.html,这个上面有多种机器安装docker的教程。

二、具体步骤

1、拉取centos镜像

docker pull centos:centos7

2、查看/启动镜像

#查看镜像
docker images
#启动镜像
docker run -itd --name my-centos centos:centos7

3、进入镜像

#获取容器的id
docker ps
#进入容器内部
docker exec -it 9bd5d8e8a3e7 /bin/bash

4、为容器安装软件

#安装ssh
yum install -y openssh-server openssh-clients
#修改密码命令
yum install -y passwd
#service命令
yum install -y initscripts

5、修改密码

#修改密码命令
passwd

6、修改sshd_config配置文件

#修改文件
vi /etc/ssh/sshd_config

#找到UsePAM参数,设置为no

7、重启ssh并退出容器

#重启ssh
service sshd start

#这里会报错
System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down #直接进行下面的命令就行,使用最后一步的命令启动就解决这个问题了 #退出容器 exit 

8、将刚刚修改的容器保存为新的镜像

docker commit 9bd5d8e8a3e7 my-ssh-centos

9、启动新的镜像

#注意要暴露对外映射的端口 --privileged=true 和后面的 /sbin/init 必须要有,以特权模式启动容器,否则无法使用systemctl启动服务
docker run -tid --name my-ssh-0 -p 50022:22 --privileged=true 9bd5d8e8a3e7 /sbin/init

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/219986.html<

(0)
运维的头像运维
上一篇2025-04-14 08:56
下一篇 2025-04-14 08:58

相关推荐

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注