基于openEuler容器镜像制作可ssh登录的docker镜像
2023-09-14 09:12:50 时间
【原文链接】基于openEuler容器镜像制作可ssh登录的docker镜像
(1)以 openeuler:22.03-lts 为例,首先以交互的方式启动容器
docker run -it --rm --privileged openeuler/openeuler:22.03-lts /bin/bash
(2)然后安装基础软件即ssh服务
dnf install -y net-tools
dnf install -y openssh-clients
dnf install -y openssh-server
ssh-keygen -A
mkdir /var/run/sshd
echo 'root:osImagePassword123' |chpasswd
echo 'StrictHostKeyChecking no' >> /etc/ssh/ssh_config
echo 'UserKnownHostsFile /dev/null ' >> /etc/ssh/ssh_config
(3)然后启动sshd服务
/usr/sbin/sshd -D &
(4)然后将运行的容器生成镜像,这里 e4827a50c0ed 为容器id
docker commit 183d39a4b058 redrose2100/openeuler-ssh:22.03-lts
(5)此时查看镜像,如下镜像已经生成。
[root@centos7-1 ~]# docker images | grep redrose2100/openeuler
redrose2100/openeuler-ssh 22.03-lts 2dc9c7518bbc About a minute ago 666MB
[root@centos7-1 ~]#
(6)将运行的容器退出,直接执行exit即可退出
(7)然后使用新生成的镜像启动容器
docker run -d --name=vm1 --privileged redrose2100/openeuler-ssh:22.03-lts /usr/sbin/sshd -D
(8)此时查看容器,可以看到容器已经在后台运行
[root@centos7-1 openeuler]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6f2f87e1b117 redrose2100/openeuler-ssh:22.03-lts "/usr/sbin/sshd -D" 3 seconds ago Up 2 seconds vm1
[root@centos7-1 openeuler]#
(9)然后通过docker exec 的方式进入容器,查看ip地址
[root@centos7-1 openeuler]# docker exec -it 6f2f87e1b117 bash
Welcome to 3.10.0-1160.el7.x86_64
System information as of time: Mon Dec 12 08:38:51 UTC 2022
System load: 5.38
Processes: 6
Memory used: 31.4%
Swap used: 0%
Usage On: 33%
Users online: 0
[root@6f2f87e1b117 /]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.2 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:ac:11:00:02 txqueuelen 0 (Ethernet)
RX packets 8 bytes 656 (656.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@6f2f87e1b117 /]#
(10)退出容器,然后通过ssh方式登录,如下可以登录
[root@centos7-1 openeuler]# ssh -o "StrictHostKeyChecking no" root@172.17.0.2
Warning: Permanently added '172.17.0.2' (ECDSA) to the list of known hosts.
root@172.17.0.2's password:
Welcome to 3.10.0-1160.el7.x86_64
System information as of time: Mon Dec 12 08:40:37 AM UTC 2022
System load: 6.16
Processes: 8
Memory used: 31.2%
Swap used: 0%
Usage On: 33%
Users online: 0
[root@6f2f87e1b117 ~]#
相关文章
- Docker 系列(十):docker服务发现
- 【Docker】解决docker通过volumes挂载文件不生效,修改后容器内数据不同步,需要重启容器才能同步的问题
- 【SSH错误】ssh_exchange_identification: read: Connection reset by peer
- docker镜像构建,Docker 镜像和容器的导入导出
- Docker - docker in docker(dind)
- Windows下Git多账号配置,同一电脑多个ssh-key的管理
- Docker 制作docker file的最佳实践
- Docker 入门docker compose请看这篇文章
- 启动docker容器时报错:iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 5000 -j DNAT -
- SSH框架整合实现Java三层架构实例(一)
- 【云原生 | Kubernetes 系列】Docker 面试题2则--取数据库连接数和docker-compose
- Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
- SSH框架入门学习之二(spring)
- 020-docker镜像UnionFS、Docker镜像加载原理、分层的镜像与容器、结合docker命令理解镜像
- 004-docker命令-docker资源配置-Docker容器CPU、memory资源限制
- 81.第十七章 企业级容器技术docker -- Docker 数据管理、Docker网络管理(九)
- y22.第二章 Docker从入门到精通 -- Cgroups和docker 的资源限制(四)
- 【云原生之Docker实战】使用docker部署yesplaymusic个人音乐播放器
- 【云原生之Docker实战】使用docker部署kooteam在线团队协作工具
- 【云原生之Docker实战】使用docker部署o2oa企业OA平台
- CentOS7自制openssh rpm包(含ssh-copy-id命令)—— 筑梦之路
- Docker 添加容器SSH服务
- Docker学习笔记17:docker实例之安装 Node.js、PHP、MySQL、Tomcat、Python、Redis、MongoDB、Apache
- Docker学习笔记12:docker使用之YAML 入门
- Docker学习笔记09:docker使用之容器连接
- docker容器设置ssh远程链接实战
- Termux第一篇之ssh使用