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
报错解决方案:
- 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桌面版进行修改,如图
通过docker info可以查看
本地ssh登录
- 用户名root 密码admin
- 设置免密登录