【DOCKER】基于UBUNTU的开发镜像

1. ubuntu_base

bash 复制代码
########################################################################################################################
# docker build --file ubuntu_base --build-arg UIMG=ubuntu:22.04 --build-arg LOGIN=u22 --tag u22:base .
# docker build --file ubuntu_base --build-arg UIMG=ubuntu:20.04 --build-arg LOGIN=u20 --tag u20:base .
# docker build --file ubuntu_base --build-arg UIMG=ubuntu:18.04 --build-arg LOGIN=u18 --tag u18:base .
# 可选参数
# --no-cache=true --progress=plain
#
# 创建容器并使用默认的root用户登录
# docker run -it --rm --privileged=true --name u20_base u20:base
# 创建容器并使用指定用户登录
# docker run -it --rm --privileged=true --name u20_base --user=u20 --workdir=/home/u20 u20:base
########################################################################################################################
ARG UIMG=
FROM ${UIMG}

ARG LOGIN=
RUN apt-get -y update && apt-get install -y ca-certificates &&\
  cp /etc/apt/sources.list /etc/apt/sources.list.bak &&\
  sed -i "s@http://.*archive.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list &&\
  sed -i "s@http://.*security.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list &&\
  apt-get -y update && apt-get -y upgrade &&\
  apt-get install -y net-tools iproute2 iputils-ping &&\
  apt-get install -y wget axel curl &&\
  apt-get install -y zip unzip xz-utils rar unrar &&\
  apt-get install -y gawk sudo vim tree locales lsb-release &&\
  apt-get -y autoremove &&\
  echo 'root:root' | chpasswd root &&\
  useradd -m -s /bin/bash ${LOGIN} && adduser ${LOGIN} sudo && echo "${LOGIN}:${LOGIN}" | chpasswd

2. ubuntu_dev

bash 复制代码
########################################################################################################################
# docker build --file ubuntu_dev --build-arg UIMG=u22:base --tag u22:dev .
# docker build --file ubuntu_dev --build-arg UIMG=u20:base --tag u20:dev .
# docker build --file ubuntu_dev --build-arg UIMG=u18:base --tag u18:dev .
# 可选参数
# --no-cache=true --progress=plain
#
# 创建容器并使用默认的root用户登录
# docker run -it --rm --privileged=true u20:dev
#
# 创建容器并使用指定用户登录
# docker run -it --rm --privileged=true --user=u20 --workdir=/home/u20 u20:dev
#
# Windows
# docker run -id --privileged=true --user=u20 --workdir=/home/u20 --volume D:/dev:/home/u20/dev --name=u20_dev u20:dev
#
# Linux
# docker run -id --privileged=true --user=u20 --workdir=/home/u20 --volume ${HOME}/dev:/home/u20/dev --name=u20_dev u20:dev
########################################################################################################################
ARG UIMG=
FROM ${UIMG}

RUN apt-get -y update &&\
  /bin/bash -c echo -e "\n6\n70\n" | apt-get -y install cmake &&\
  apt-get install -y build-essential gdb git git-lfs autoconf automake libtool pkg-config &&\
  apt-get install -y nasm python3 python3-pip &&\
  echo '[global]' >/etc/pip.conf &&\
  echo 'index-url = https://pypi.tuna.tsinghua.edu.cn/simple' >> /etc/pip.conf &&\
  pip3 install -U pip &&\
  pip3 config --global set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple &&\
  pip3 config --global set install.trusted-host pypi.tuna.tsinghua.edu.cn &&\
  pip3 install -U pip &&\
  pip3 config --global set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple &&\
  pip3 config --global set install.trusted-host pypi.tuna.tsinghua.edu.cn &&\
  pip3 install meson ninja &&\
  apt-get -y autoremove
相关推荐
weixin_399380691 小时前
k8s一键部署tongweb企业版7049m6(by why+lqw)
java·linux·运维·服务器·云原生·容器·kubernetes
IT成长日记2 小时前
【Docker基础】Docker数据卷管理:docker volume ls及其参数详解
运维·docker·容器·volume ls
偷萧逸苦茶2 小时前
docker常见命令
docker·容器·eureka
好奇的菜鸟11 小时前
如何在 Ubuntu 24.04 (Noble) 上使用阿里源
linux·运维·ubuntu
好奇的菜鸟13 小时前
如何在Ubuntu上检查MySQL是否启动并放开3306端口
mysql·ubuntu·adb
高山莫衣16 小时前
Docker Desktop导致存储空间不足时的解决方案
docker·容器·eureka
鹏大师运维16 小时前
在银河麒麟V10 SP1上手动安装与配置高版本Docker的完整指南
linux·运维·docker·容器·麒麟·统信uos·中科方德
lovely_nn16 小时前
docker 介绍
docker·k8s
Ahlson16 小时前
【fnNAS】docker的nginx配置html
nginx·docker·容器·fnnas
LuckyLay16 小时前
Compose 常用命令详解——AI教你学Docker
docker·容器·eureka