Centos8用Docker启动一个Centos镜像

文章目录

          • 1.拉取Centos镜像
          • 2.进入Centos
          • 3.安装ifconfig和ssh
          • 4.查看ssh服务,没有则安装ssh服务
          • 5.启动sshd
          • 6.修改root密码
          • 7.退出,但不停止容器
          • 8.回到Docker下面,停止容器
          • 9.提交当前容器到镜像
          • 10.启动新容器,并且进行端口映射

1.拉取Centos镜像

去https://hub.docker.com/ 上寻找Centos镜像

docker pull centos:centos7

#运行命令

docker run -itd  /bin/bash

在这里插入图片描述
这样就能启动一个一直停留在后台运行的Centos了。如果少了/bin/bash的话,Docker会生成一个Container但是马上就停止了,不会一致运行即使有了-d参数
-i: 交互式操作
-t: 终端
-d 后台运行
-p 容器端口映射 (宿主机端口:容器端口)

2.进入Centos

#运行命令

docker attach  

在这里插入图片描述
进入Centos后,发现竟然没有ifconfig和ssh

3.安装ifconfig和ssh

#运行命令

yum search ifconfig

Centos8用Docker启动一个Centos镜像_第1张图片

#运行命令

yum install net-tools.x86_64

Centos8用Docker启动一个Centos镜像_第2张图片
现在可以看到IP地址了
Centos8用Docker启动一个Centos镜像_第3张图片

先ping一波,看能行不

在这里插入图片描述

4.查看ssh服务,没有则安装ssh服务

#运行命令

rpm -qa |grep sshd
rpm -qa |grep ssh

在这里插入图片描述

安装ssh服务

#运行命令

yum install -y openssh-server

Centos8用Docker启动一个Centos镜像_第4张图片

5.启动sshd

如果报以下的错
Centos8用Docker启动一个Centos镜像_第5张图片

执行以下命令解决:

ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_ecdsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_ed25519_key

之间有两次回车就ok;
Centos8用Docker启动一个Centos镜像_第6张图片

.重新启动sshd

#执行命令

/usr/sbin/sshd -D

在这里插入图片描述
查看ssh的启动是否成功

netstat -lntp|grep sshd

在这里插入图片描述

6.修改root密码

#执行命令

passwd root

Centos8用Docker启动一个Centos镜像_第7张图片
接下来就是常用的命令了,将端口映射到宿主机

7.退出,但不停止容器
Ctrl+P+Q

在这里插入图片描述

8.回到Docker下面,停止容器
docker stop <容器ID>

Centos8用Docker启动一个Centos镜像_第8张图片

9.提交当前容器到镜像
docker commit <容器ID> 

在这里插入图片描述
Centos8用Docker启动一个Centos镜像_第9张图片

10.启动新容器,并且进行端口映射
docker run -itd -p 5000:22 <刚才提交的镜像ID>  /bin/bash

然后进去容器里面看一下 sshd是否开启
Centos8用Docker启动一个Centos镜像_第10张图片
我的 自己挂了,然后我自己启动然后加入到开机自启动项,之后推出
(因为个人用的是阿里云服务器,需要去服务器上看下安全组,把你设的端口放行,如果是私人VMware,需要添加防火墙规则或者关闭防火墙)
好了,这样我们在windows下利用ssh工具访问宿主机的IP端口就可以访问到容器了
Centos8用Docker启动一个Centos镜像_第11张图片
Centos8用Docker启动一个Centos镜像_第12张图片

你可能感兴趣的:(Centos8用Docker启动一个Centos镜像)