build.sh 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. # General config
  18. export LC_ALL=C
  19. export DEBIAN_FRONTEND=noninteractive
  20. MINIMAL_APT_GET_INSTALL='apt-get install -y --no-install-recommends'
  21. ## Prevent initramfs updates from trying to run grub and lilo.
  22. ## https://journal.paul.querna.org/articles/2013/10/15/docker-ubuntu-on-rackspace/
  23. ## http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=594189
  24. export INITRD=no
  25. printf no > /container/environment/INITRD
  26. apt-get update
  27. ## Fix some issues with APT packages.
  28. ## See https://github.com/dotcloud/docker/issues/1024
  29. dpkg-divert --local --rename --add /sbin/initctl
  30. ln -sf /bin/true /sbin/initctl
  31. cp "/usr/share/zoneinfo/Asia/Shanghai" /etc/localtime
  32. echo "Asia/Shanghai" > /etc/timezone
  33. ## Install apt-utils.
  34. $MINIMAL_APT_GET_INSTALL apt-utils apt-transport-https ca-certificates locales procps dirmngr gnupg iproute2 python3-minimal python3-yaml
  35. ## Upgrade all packages.
  36. apt-get dist-upgrade -y --no-install-recommends -o Dpkg::Options::="--force-confold"
  37. # fix locale
  38. echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
  39. locale-gen en_US
  40. update-locale LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8
  41. printf en_US.UTF-8 > /container/environment/LANG
  42. printf en_US.UTF-8 > /container/environment/LANGUAGE
  43. printf en_US.UTF-8 > /container/environment/LC_CTYPE
  44. apt-get clean
  45. rm -rf /tmp/* /var/tmp/*
  46. rm -rf /var/lib/apt/lists/*
  47. # Remove useless files
  48. rm -rf /container/file
  49. rm -rf /container/build.sh /container/Dockerfile