欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

基础篇--docker容器安装ssh服务

时间:2023-07-26

1.下载centos镜像:docker pull centos

2.运行centos镜像:docker run -d --name ssh_service --privileged --expose 22 centos /usr/sbin/init

        以上每一个参数都可以在docker官方文档中找到docker run | Docker documentation,也可以通过docker run --help来查看,学会看官方文档或者手册才是真正的开始。

-d:代表后台运行

--name:定义容器名称

--privileged:赋予扩展权限,该参数是执行systemctl start ssh服务的前提条件,叠加最后/usr/sbin/init可以解决“docker 报错 System has not been booted with systemd as init system (PID 1)、Can't operate、Failed to connect to bus: Host is down”这个问题

--expose:暴露22,ssh服务器端口

3.输入docker container ps查看容器是否正常启动

4.执行docker exec -it ssh_service /bin/bash进入容器

更新阿里yum源阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区,这里我的centos镜像版本是8.4,由于近期阿里镜像调整了镜像路径centos8的镜像源无法直接使用,所以需要进行局部调整:

rm -f /etc/yum.repos.d/*

curl -o /etc/yum.repos.d/CentOS-base.repo https://mirrors.aliyun.com/repo/Centos-8.repo

sed -i 's/$releasever/8-stream/g' /etc/yum.repos.d/CentOS-base.repo

yum clean all

yum makecache

 5.安装ssh服务

RUN yum install -y openssh-server libaio libnsl;

# 添加test用户,设置密码123456

useradd test;

echo 'test:123456' | chpasswd;

echo 'root:123456' | chpasswd;

6.启动ssh服务:

systemctl start ssh

systemctl enable ssh

7.查看容器ip,输入ip addr

退出容器,在docker host中输入ssh root@172.17.0.2  测试ssh服务是否正常使用 

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。