个人开发镜像的优化
好方
好方
发布于 2023-06-19 / 35 阅读 / 0 评论 / 0 点赞

个人开发镜像的优化

前提

本文参考上文从零构建1个开发镜像 - 好方 (kengdie.xyz)

构建材料

Dockerfile如下

其中user.email和user.name经过修改,请改为自己

其中RUN字段中最后的echo为ssh的账号密码

FROM harbor.kengdie.xyz/k8s/library/ubuntu:22.04

MAINTAINER Fang_DevContainer

COPY sources.list /etc/apt/sources.list
COPY cos.yaml /root/.cos.yaml

RUN apt update && \
	apt install -y mysql-client redis net-tools iputils-ping iproute2 openssh-server openssh-client curl vim wget git python3 python3-pip && \
	wget https://cosbrowser.cloud.tencent.com/software/coscli/coscli-linux -O /usr/bin/coscli && \
	chmod +x /usr/bin/coscli && \
	python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip && \
	pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple && \
	wget https://npmmirror.com/mirrors/node/v18.16.0/node-v18.16.0-linux-x64.tar.xz -O /tmp/node-v18.16.0-linux-x64.tar.xz && \
	tar xvf /tmp/node-v18.16.0-linux-x64.tar.xz -C /usr/local/ && \
	export PATH=$PATH:/usr/local/node-v18.16.0-linux-x64/bin/ && \
	echo "export PATH=$PATH:/usr/local/node-v18.16.0-linux-x64/bin/" >> ~/.bashrc && \
	npm set registry https://registry.npm.taobao.org && \
	npm install -g npm@9.7.1 && \
	npm install -g pnpm && \
	pnpm set registry https://registry.npm.taobao.org && \
	apt clean && \
	rm -rf /tmp/* && \
	git config --global user.email "1235136@qq.com" && \
	git config --global user.name "Fang_DevContainer" && \
	mkdir /run/sshd && \
	sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config && \
	sed -i "s/#UseDNS.*/UseDNS no/g" /etc/ssh/sshd_config && \
	echo root:Admin12345.. | chpasswd

WORKDIR /code
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]

sources.list,来自于清华源官网:ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror,如下

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

cos.yaml,来自于腾讯云官网文档:对象存储 COSCLI 简介-工具指南-文档中心-腾讯云 (tencent.com)

注意,下文中的密钥以及bucket名称等均修改过,为无效

如下

cos:
  base:
    secretid: QJ/zyN5A+pJczDR0mAAbdMSo2NEzut2323424234AnkDW
    secretkey: zzt0Jy2ivF30TBS00y87J423425235d9+JBIz
    sessiontoken: 3kNZR4w23424Mw==
    protocol: https
  buckets:
  - name: whoami-125000080
    alias: whoami-18888880
    region: "ap-chengdu"
    endpoint: cos.ap-chengdu.myqcloud.com
    ofs: false

构建

构建命令如下

docker build . --no-cache -t ubuntu:22.04-20230619-dev01

推送入库

docker tag ubuntu:22.04-20230619-dev01 harbor.kengdie.xyz/k8s/ubuntu:22.04-20230619-dev01
docker push !$

推送如下


评论