build.sh 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #!/bin/sh -ex
  2. ## Add bash tools to /sbin
  3. ln -s /container/tool/* /sbin/
  4. mkdir -p /container/service
  5. mkdir -p /container/environment /container/environment/startup
  6. chmod 700 /container/environment/ /container/environment/startup
  7. mv /etc/apt/sources.list /etc/apt/sources_bak.list \
  8. && echo 'deb http://mirrors.163.com/debian/ buster main non-free contrib
  9. deb http://mirrors.163.com/debian/ buster-updates main non-free contrib
  10. deb http://mirrors.163.com/debian/ buster-backports main non-free contrib
  11. deb http://mirrors.163.com/debian-security/ buster/updates main non-free contrib
  12. deb-src http://mirrors.163.com/debian/ buster main non-free contrib
  13. deb-src http://mirrors.163.com/debian/ buster-updates main non-free contrib
  14. deb-src http://mirrors.163.com/debian/ buster-backports main non-free contrib
  15. deb-src http://mirrors.163.com/debian-security/ buster/updates main non-free contrib'\
  16. > /etc/apt/sources.list
  17. addgroup -g 8377 docker_env
  18. # General config
  19. export LC_ALL=C
  20. export DEBIAN_FRONTEND=noninteractive
  21. MINIMAL_APT_GET_INSTALL='apt-get install -y --no-install-recommends'
  22. ## Prevent initramfs updates from trying to run grub and lilo.
  23. ## https://journal.paul.querna.org/articles/2013/10/15/docker-ubuntu-on-rackspace/
  24. ## http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=594189
  25. export INITRD=no
  26. printf no > /container/environment/INITRD
  27. apt-get update
  28. ## Fix some issues with APT packages.
  29. ## See https://github.com/dotcloud/docker/issues/1024
  30. dpkg-divert --local --rename --add /sbin/initctl
  31. ln -sf /bin/true /sbin/initctl
  32. cp "/usr/share/zoneinfo/Asia/Shanghai" /etc/localtime
  33. echo "Asia/Shanghai" > /etc/timezone
  34. ## Install apt-utils.
  35. $MINIMAL_APT_GET_INSTALL apt-utils apt-transport-https ca-certificates locales procps dirmngr gnupg iproute2 python3-minimal python3-yaml
  36. ## Upgrade all packages.
  37. apt-get dist-upgrade -y --no-install-recommends -o Dpkg::Options::="--force-confold"
  38. # fix locale
  39. echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
  40. locale-gen en_US
  41. update-locale LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8
  42. printf en_US.UTF-8 > /container/environment/LANG
  43. printf en_US.UTF-8 > /container/environment/LANGUAGE
  44. printf en_US.UTF-8 > /container/environment/LC_CTYPE
  45. apt-get clean
  46. rm -rf /tmp/* /var/tmp/*
  47. rm -rf /var/lib/apt/lists/*
  48. # Remove useless files
  49. rm -rf /container/file
  50. rm -rf /container/build.sh /container/Dockerfile