构建可以ssh连接的容器镜像

构建可以ssh连接的容器镜像

构建可以通过ssh进行连接容器镜像,实现远程登录容器的目的。

ubuntu ssh容器镜像

你可以使用以下Dockerfile来构建一个可以SSH的容器镜像:

dockerfile 复制代码
FROM ubuntu:20.04

MAINTAINER lldhsds

# 配置apt国内源
COPY sources.list /etc/apt/

# 安装OpenSSH Server
RUN apt-get update && apt-get install -y openssh-server

# 创建SSH服务的必要目录
RUN mkdir /var/run/sshd

# 设置root用户的密码
RUN echo 'root:ubuntu' | chpasswd

# 允许root用户通过SSH登录
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config

# 暴露SSH端口
EXPOSE 22

# 启动SSH服务
CMD ["/usr/sbin/sshd", "-D"]

在dockerfile同目录下,创建镜像源文件sources.list,内容如下:

bash 复制代码
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
# deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

使用以下命令构建和运行镜像:

bash 复制代码
docker build -t ubuntu-ssh .
docker run -d -p 2222:22 ubuntu-ssh

然后,你可以通过SSH连接到容器:

bash 复制代码
ssh root@localhost -p 2222

centos ssh容器镜像

可以使用以下Dockerfile来构建一个可以SSH的容器镜像:

dockerfile 复制代码
FROM centos:7

MAINTAINER lldhsds

RUN rm -rf /etc/yum.repos.d/*

ADD repo.tar.gz /etc/yum.repos.d/

RUN yum install openssh-clients openssh-server -y && \
    ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key && \
    ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key && \
    ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key && \
    sed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config && \
    echo "root:centos"| chpasswd

EXPOSE 22

CMD ["/usr/sbin/sshd", "-D"]

根据需要调整密码和配置!

dockerfile同目录下,创建repo.tar.gz,内容如下:

bash 复制代码
tar zcvf repo.tar.gz centos7.repo

其中cenos7.repo内容如下:

bash 复制代码
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
相关推荐
励志师code4 小时前
Kubernetes 集群节点生命周期管理实战:从扩容、调度管控到证书续期
运维·docker·容器·kubernetes·gpu算力·kubelet
闲云自留地5 小时前
Kubernetes 安装保姆级:关 swap、装 containerd、init 集群、calico 一篇通
容器·贪心算法·kubernetes
木雷坞5 小时前
Docker Compose部署Metabase:应用库隔离与日期筛选看板
运维·docker·容器
怒放的生命19915 小时前
前端项目 Docker 打包实操指南
前端·docker·容器
tedcloud1235 小时前
Docker Compose 部署 Immich:手机照片自动备份与常见故障排查
运维·前端·docker·容器·智能手机·开源·流程图
古城小栈6 小时前
Docker Compose 云原生的底座
docker·云原生·容器
卜锦元6 小时前
Docker Compose 部署 Nginx 1.30.6 完整指南
nginx·docker·容器
easy_coder7 小时前
Kubernetes 三大探针:Startup、Liveness 与 Readiness
云原生·容器·kubernetes
刘胡子大叔8 小时前
Docker 容器名 ping 不通
运维·docker·容器
a5986528 小时前
Docker多开云手机,六边云独立端口隔离访问实战
android·运维·docker·容器·智能手机·云手机