DockerFile构建基础镜像
1. 下载Docker Desktop
2. 修改存储位置并注册账号登录
3. 桌面新建文件夹,加入以下内容
# 使用 ubuntu:20.04 作为基础镜像
FROM ubuntu:20.04
# 设置环境变量以避免交互式安装问题
ENV DEBIAN_FRONTEND=noninteractive
# 替换为清华源
RUN echo "deb https://mirrors.tuna.tsinghua.edu.cn/ub\
untu/ focal main restricted universe multiverse\n" \
"deb https://mirrors.tuna.tsinghua.edu.cn/ub\
untu/ focal-updates main restricted universe multiverse\n" \
"deb https://mirrors.tuna.tsinghua.edu.cn/ub\
untu/ focal-backports main restricted universe multiverse\n" \
"deb http://security.ubuntu.com/ub\
untu/ focal-security main restricted universe multiverse\n" \
> /etc/apt/sources.list
# 临时禁用 HTTPS 验证来安装 ca-certificates
RUN apt-get update -o Acquire::https::Verify-Peer=false && \
apt-get install -y ca-certificates && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# 更新包列表并安装必要的依赖,包括 SSH、编译工具和常用工具
RUN apt-get update && \
apt-get install -y wget bzip2 curl git openssh-server \
vim iputils-ping net-tools iproute2\
gzip unzip tar zip \
build-essential cmake make \
software-properties-common \
htop screen tmux \
nano less tree \
locales sudo \
lsof strace \
dnsutils traceroute \
rsync netcat socat \
jq dos2unix \
man-db \
&& apt-get clean && \
rm -rf /var/lib/apt/lists/*
# 设置 UTF-8 locale
RUN locale-gen en_US.UTF-8
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
ENV LC_ALL=en_US.UTF-8
# 安装 Miniconda 并将其添加到 PATH
RUN wget https://repo.anaconda.com/miniconda/Mini\
conda3-latest-Linux-x86_64.sh -O /tmp/miniconda.sh && \
bash /tmp/miniconda.sh -b -p /opt/miniconda && \
rm /tmp/miniconda.sh && \
export PATH="/opt/miniconda/bin:$PATH" && \
conda --version
# 更新 conda 并清理
ENV PATH="/opt/miniconda/bin:$PATH"
RUN conda update -n base -c defaults conda && \
conda clean -ya
# 设置 SSH 服务器
RUN mkdir /var/run/sshd && \
echo 'root:root' | chpasswd && \
sed -i 's/#PermitRootLogin prohibit-password/PermitR\
ootLogin yes/' /etc/ssh/sshd_config && \
mkdir -p /root/.ssh && \
chmod 700 /root/.ssh
# 开放22端口
EXPOSE 22
# 如果需要代理访问校园网,可以设置代理环境变量(示例中使用 HTTP 代理)
# 取消注释以下行,并将<proxy-url>替换为实际的代理地址
# ENV http_proxy=http://<proxy-url>:<port>
# ENV https_proxy=http://<proxy-url>:<port>
# 设置默认的工作目录
WORKDIR /workspace
# 启动 SSH 服务并保持容器运行
CMD ["/usr/sbin/sshd", "-D"]
4. 文件重命名为DockerFile
5. 打开Docker Desktop切换到桌面目录 并执行下面命令行
cd D:\desktop #最后面有个小 --> . <---
docker build -f DockerFile --network=host -t \
lanzetian2323/ubuntu20.04andminiconda:base .
6. 查看docker镜像
docker images
7. 打包docker镜像到本地
docker save -o ubuntu20.04andminiconda.tar \
ubuntu20.04andminiconda:base #默认当前路径
8. FTP上传tar包
8.1方法一:windows自带FTP上传
- 打开网站
- 点击 FTP 上传 记录 FTP 数据
- windows自带ftp 打开任意文件夹 在文件夹路径输入如下格式命令,回车:
ftp://[FTP 账号]:[FTP 密码]@[FTP 地址]:[FTP 端口]
eg: ftp://GND8784Q: [email protected]: 6500/
- 将.tar 文件拖拽到此目录中,可以在上传界面看到数据正在传输
8.2 方法二:使用FileZilla上传
- 下载FileZilla
FileZilla下载地址 - 输入相关信息 点击快速连接
- 右击文件上传
8.3 刷新页码 文件已上传
9. 导入镜像
10. 创建作业 验证ssh+miniconda
- 任务终端设置密码 重启ssh
passwd #设置密码
/etc/init.d/ssh restart #重启ssh
- 打开cmd ssh连接 查看版本信息
ssh -p [映射端口号] root@[ip地址]
cat /etc/os-release #查看ubuntu版本
export PATH=/opt/miniconda/bin:$PATH #添加conda bin到环境变量
conda --version #查看conda版本
11. push上docker hub
docker login #登录docker hub
docker images #查看本地镜像
#标记镜像保证格式[仓库名]/[镜像名]:[tag] 仓库名就是用户名 相当于重命名
docker tag lanzetian2323/ubuntu20.04andminiconda:base \
lanzetian2323/ubuntu20.04andminiconda:test
#push镜像到dockerhub
docker push lanzetian2323/ubuntu20.04andminiconda:test
12. 从docker hub上pull镜像到本地 并打包
docker login #登录docker hub
docker rmi lanzetian2323/ubuntu20.04andminiconda:test
docker pull lanzetian2323/ubuntu20.04andminiconda:test
docker images
Editor:lan
Time:2024/10/12
QQ:1670074219
链接和源具有时效性 失效请联系