一机玩转docker之十:创建及使用ssh镜像

简介:

目标

创建ssh镜像,并使用ssh镜像创建容器以便上传文件。

一、以centos镜像为基础构建ssh的镜像

mkdir -p /data/build/ssh/ #创建镜像构建目录
cd /data/build/ssh/ #进入镜像构建目录
#将下载的jdk安装包jdk-8u162-linux-x64.tar.gz上传到该目录
vim Dockerfile #创建构建文件

构建文件内容如下:

FROM centos

# 更新系统及更新源(可与其他构建共享此镜像层)
RUN yum -y update \
&& yum -y install epel-release

# 安装ssh服务
RUN yum -y install net-tools.x86_64 \
&& yum -y install openssh-server \
&& yum -y install openssh-clients \
&& ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N "" \
&& ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N "" \
&& ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ""

# 监听端口
EXPOSE 22

# 启动监听
CMD /usr/sbin/sshd -D

构建镜像

docker build -t centos-ssh . #构建镜像,且镜像名为centos-ssh

二、以centos-ssh镜像为基础启动容器

docker run \
-dit \
--rm \
--name out_ssh \
-p 2201:22 \
-v /data/prd/bt/wwwroot:/root/web \
centos-ssh #启动一个ssh容器,并使用宿主机的2201端口

docker run \
-dit \
--rm \
--name in_ssh \
-p 2202:22 \
-v /data/prd/bt/wwwroot:/root/web \
centos-ssh #启动另一个ssh容器,并使用宿主机的2202端口

docker exec -it out_ssh passwd root #设置容器的root密码
docker exec -it in_ssh passwd root #设置容器的root密码

三、使用容器进行ssh连接

使用如xshell工具,连接宿主机IP,并使用端口号2201或2202,即可连接容器。

目录
相关文章
|
1月前
|
JavaScript Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
273 100
|
1月前
|
缓存 安全 Linux
优化Docker镜像大小的多阶段构建实践
优化Docker镜像大小的多阶段构建实践
232 99
|
1月前
|
缓存 Docker 容器
优化Docker镜像大小的五个实用技巧
优化Docker镜像大小的五个实用技巧
214 98
|
1月前
|
安全 Go Docker
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
|
17天前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
166 7
|
1月前
|
Java Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
96 8
|
2月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
192 16
|
2月前
|
运维 关系型数据库 数据库
应用官方 Docker 镜像已成熟,团队为何转向 Websoft9 而不再依赖 Bitnami
随着云原生发展,部署工具从 Bitnami 转向 Websoft9。后者基于官方镜像,提供多应用编排与统一运维,提升部署效率与维护能力,适合多系统协同场景。
应用官方 Docker 镜像已成熟,团队为何转向 Websoft9 而不再依赖 Bitnami
|
2月前
|
Ubuntu 网络安全 PHP
如何使用vscode的Docker插件管理ubuntu 拉取服务器的镜像以及创建容器
本测试镜像旨在记录使用vscode的Docker插件拉取病创建Dockerfile,以及拉取镜像。
|
3月前
|
存储 缓存 Serverless
【Azure Container App】如何在Consumption类型的容器应用环境中缓存Docker镜像
在 Azure 容器应用的 Consumption 模式下,容器每次启动均需重新拉取镜像,导致冷启动延迟。本文分析该机制,并提出优化方案:使用 ACR 区域复制加速镜像拉取、优化镜像体积、设置最小副本数减少冷启动频率,或切换至 Dedicated 模式实现镜像缓存,以提升容器启动效率和应用响应速度。