docker 构建alpine基础镜像安装ssh服务

1. 创建Dockerfile

  • mkdir alpine
    cd alpine
    touch Dockerfile键入以下内容
#指定基础镜像
From alpine
#维护信息
MAINTAINER fangkai 2045907353@qq.com
## 替换源
# 替换阿里云的源
RUN echo "http://mirrors.aliyun.com/alpine/latest-stable/main/" > /etc/apk/repositories
RUN echo "http://mirrors.aliyun.com/alpine/latest-stable/community/" >> /etc/apk/repositories


##
RUN apk update && \
    apk add --no-cache openssh-server tzdata && \
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    sed -i "s/#PermitRootLogin.*/PermitRootLogin yes/g" /etc/ssh/sshd_config && \
    ssh-keygen -t rsa -P "" -f /etc/ssh/ssh_host_rsa_key && \
    ssh-keygen -t ecdsa -P "" -f /etc/ssh/ssh_host_ecdsa_key && \
    ssh-keygen -t ed25519 -P "" -f /etc/ssh/ssh_host_ed25519_key && \
    echo "root:admin" | chpasswd
#开放端口
EXPOSE 22
## 启动后台运行
CMD ["/usr/sbin/sshd", "-D"]

构建镜像

docker build -t alpine_ssh ./

运行容器

docker run -d -p 8022:22 alpine_ssh

报错解决方案:

  1. failed to do request: Head "https://registry-1.docker.io/v2/library/alpine/manifests/latest": EOF
    docker 拉取远程镜像错误,更换源
  • linux 系统下
    修改/etc/docker/daemon.json文件(如果文件不存在可以创建)输入
{
    "registry-mirrors":[
                        "https://hub-mirror.c.163.com/",
                        "https://docker.mirrors.ustc.edu.cn/"
                        ]
}

然后保存重启daemon

  • macos 直接通过desktop桌面版进行修改,如图

image

通过docker info可以查看
image

本地ssh登录

  • 用户名root 密码admin
    image
  • 设置免密登录
    image
posted @ 2023-11-07 14:19  学不会xuebuhui  阅读(418)  评论(0编辑  收藏  举报
Language: javascript