系统相关
首页 > 系统相关> > docker启动容器centos8.3并开启ssh服务

docker启动容器centos8.3并开启ssh服务

作者:互联网

环境说明:

- docker跑在kali linux上,docker中下载了容器官方镜像centos8.3.8.3.2011并启动运行
- kali linux跑在本地macOS的虚机中,使用172.16.106.0/24 的vm虚机网卡
- 容器centos8 也使用172.16.106.0/24 网段的IP
- 实现本地macOS可以ssh连到容器centos8即可

第一步:搜索容器镜像

$ docker search centos

第二步:下载容器镜像

$ docker pull centos

第三步:部署容器自定义网络环境

$ docker network create -d macvlan --subnet=172.16.106.0/24 --ip-range=172.16.106.0/24 --gateway=172.16.106.2 -o macvlan_mode=bridge -o parent=eth0 macvlan

【注意该自定义网络中,我设定的默认网关是172.16.106.2, 由于vm虚拟网卡(vmnet8)的特性,实际可按照你们本地环境为准】

第四步:检查自定义网络

$ docker network ls

第五步:启动容器centos

$ docker run -itd --network=macvlan --ip=172.16.106.200 --name=centos8.3 centos /bin/bash

【网上很多都建议启动时指定权限--priviledge=true,但是我测试了几次貌似不加也没有具体影响,这个你们在实际环境中可以测试考量】

第六步:进入容器配置

$ docker exec -it [CONTAINER ID] bash

第七步:搜索安装net-tools

【熟悉的可以直接敲名字安装,可能是官方最小精简版本。。所以啥都没,如果该组件已有请略过此步骤】

$ yum search net-tools
$ yum install net-tools.x86_64 net-tools

第八步:搜索安装passwd并修改root密码

【熟悉的可以直接敲名字安装,可能是官方最小精简版本。。所以啥都没,如果该组件已有请略过此步骤】

$ yum search passwd	
$ yum install passwd.x86_64
$ passwd root		【自行修改密码】

第九步:安装openssh

【如果该组件已有请略过此步骤】

$ yum install openssh-server -y

第十步:启动ssh

【直接/usr/sbin/sshd 启动会报错,报错内容如下】

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.

【需要先生成公私钥,便可正常启动ssh服务了】

$ ssh-keygen -A
$ /usr/sbin/sshd

第十一步:检查ssh服务

$ netstat -pant |grep sshd

第十二步:本机连接容器centos8

GOGOGO!

标签:容器,centos8.3,--,host,ssh,172.16,docker
来源: https://www.cnblogs.com/lich1x/p/14490213.html