Dockerfile文件 目录下新建 run.sh 和tuna.list两个文件
run.sh
# 启动ssh 服务
/etc/init.d/ssh start
/bin/bash
tuna.list
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
Dockerfile
FROM ubuntu
COPY tuna.list /etc/apt/sources.list.d/
COPY run.sh run.sh
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak &&\
apt-get update &&\
# vim 根据自身情况可装可不装
apt-get install -y openssh-server vim &&\
apt-get clean &&\
rm -rf /var/lib/apt/lists/* &&\
## 配置ssh免密登录,需要你的 github添加了密钥
wget -O "authorized_keys" https://www.github.com/[你的github账号].keys &&\
mkdir /root/.ssh
mv authorized_keys /root/.ssh/
CMD ["/bin/bash","run.sh"]
构建镜像与启动容器
# 构建镜像
docker build -t [自定义镜像名] .
# 启动自启容器
docker run -itd -p[自定义映射端口]:22 --name [自定义容器名] --restart=on-failure [刚才自定义的镜像名]
# 进入容器
docker exec -i [刚才自定义的容器名] bash
ssh 登录容器
ssh -l root [容器域名] -p [刚才自定义的映射端口]