一、Dockerfile
root@hh:/volume1/development/source/alpine_golang# docker pull golang:alpine
alpine: Pulling from library/golang
97518928ae5f: Already exists
b78c28b3bbf7: Pull complete
248309d37e25: Pull complete
c91f41641737: Pull complete
e372233a5e04: Pull complete
Digest: sha256:55da409cc0fe11df63a7d6962fbefd1321fedc305d9969da636876893e289e2d
Status: Downloaded newer image for golang:alpine
docker.io/library/golang:alpine
root@hh:/volume1/development/source/alpine_golang
/volume1/development/source/alpine_golang
root@hh:/volume1/development/source/alpine_golang
FROM golang:alpine
LABEL maintainer="kk 2021.11.17"
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories \
&& echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \
&& apk update \
&& apk upgrade
RUN apk add --no-cache ca-certificates \
&& apk add tzdata \
&& apk add bash \
&& apk add s6 \
&& apk add wget \
&& apk add curl \
&& apk add openssh-client \
&& apk add iperf3 \
&& apk add ethtool \
&& apk add nftables \
&& apk add busybox-extras \
&& apk add tcpdump \
&& apk add iputils \
&& apk add iptables \
&& apk add iproute2 \
&& apk add net-tools \
&& apk add coreutils \
&& apk add libc6-compat
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone
ENV TIME_ZONE Asia/Shanghai
ENV LANG=zh_CN.UTF-8
ENV LANGUAGE=zh_CN:zh
二、build
root@hh:/volume1/development/source/alpine_golang# docker build -t alpine_golong:v1.6 .
Sending build context to Docker daemon 3.584kB
Step 1/8 : FROM golang:alpine
Step 2/8 : LABEL maintainer="kk 2021.11.17"
Removing intermediate container aae8487aef51
Step 3/8 : RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories && echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && apk update && apk upgrade
fetch https://mirrors.ustc.edu.cn/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
fetch https://mirrors.ustc.edu.cn/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
v3.14.3-8-gdab723ccf8 [https://mirrors.ustc.edu.cn/alpine/v3.14/main]
v3.14.3-12-g13e0706e2c [https://mirrors.ustc.edu.cn/alpine/v3.14/community]
v3.15.0_rc3-61-ge4504c9628 [http://dl-cdn.alpinelinux.org/alpine/edge/testing]
OK: 19557 distinct packages available
OK: 6 MiB in 15 packages
Removing intermediate container d16941585614
Step 4/8 : RUN apk add
fetch https://mirrors.ustc.edu.cn/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
fetch https://mirrors.ustc.edu.cn/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
OK: 6 MiB in 15 packages
(1/1) Installing tzdata (2021e-r0)
Executing busybox-1.33.1-r6.trigger
OK: 10 MiB in 16 packages
(1/4) Installing ncurses-terminfo-base (6.2_p20210612-r0)
(2/4) Installing ncurses-libs (6.2_p20210612-r0)
(3/4) Installing readline (8.1.0-r0)
(4/4) Installing bash (5.1.4-r0)
Executing bash-5.1.4-r0.post-install
Executing busybox-1.33.1-r6.trigger
OK: 12 MiB in 20 packages
(1/4) Installing skalibs (2.10.0.3-r0)
(2/4) Installing s6-ipcserver (2.10.0.3-r0)
(3/4) Installing execline (2.8.0.1-r0)
(4/4) Installing s6 (2.10.0.3-r0)
Executing s6-2.10.0.3-r0.pre-install
Executing busybox-1.33.1-r6.trigger
OK: 14 MiB in 24 packages
(1/3) Installing libunistring (0.9.10-r1)
(2/3) Installing libidn2 (2.3.1-r0)
(3/3) Installing wget (1.21.1-r1)
Executing busybox-1.33.1-r6.trigger
OK: 16 MiB in 27 packages
(1/4) Installing brotli-libs (1.0.9-r5)
(2/4) Installing nghttp2-libs (1.43.0-r0)
(3/4) Installing libcurl (7.79.1-r0)
(4/4) Installing curl (7.79.1-r0)
Executing busybox-1.33.1-r6.trigger
OK: 18 MiB in 31 packages
(1/4) Installing openssh-keygen (8.6_p1-r3)
(2/4) Installing libedit (20210216.3.1-r0)
(3/4) Installing openssh-client-common (8.6_p1-r3)
(4/4) Installing openssh-client-default (8.6_p1-r3)
Executing busybox-1.33.1-r6.trigger
OK: 21 MiB in 35 packages
(1/1) Installing iperf3 (3.10.1-r0)
Executing busybox-1.33.1-r6.trigger
OK: 22 MiB in 36 packages
(1/2) Installing libmnl (1.0.4-r1)
(2/2) Installing ethtool (5.12-r0)
Executing busybox-1.33.1-r6.trigger
OK: 22 MiB in 38 packages
(1/4) Installing gmp (6.2.1-r0)
(2/4) Installing jansson (2.13.1-r0)
(3/4) Installing libnftnl-libs (1.2.0-r0)
(4/4) Installing nftables (0.9.9-r0)
Executing busybox-1.33.1-r6.trigger
OK: 24 MiB in 42 packages
(1/1) Installing busybox-extras (1.33.1-r6)
Executing busybox-extras-1.33.1-r6.post-install
Executing busybox-1.33.1-r6.trigger
OK: 24 MiB in 43 packages
(1/2) Installing libpcap (1.10.0-r0)
(2/2) Installing tcpdump (4.99.0-r0)
Executing busybox-1.33.1-r6.trigger
OK: 26 MiB in 45 packages
(1/2) Installing libcap (2.50-r0)
(2/2) Installing iputils (20210202-r0)
Executing busybox-1.33.1-r6.trigger
OK: 26 MiB in 47 packages
(1/1) Installing iptables (1.8.7-r1)
Executing busybox-1.33.1-r6.trigger
OK: 29 MiB in 48 packages
(1/8) Installing iproute2 (5.12.0-r0)
Executing iproute2-5.12.0-r0.post-install
(2/8) Installing libbz2 (1.0.8-r1)
(3/8) Installing fts (1.2.7-r1)
(4/8) Installing xz-libs (5.2.5-r0)
(5/8) Installing libelf (0.182-r1)
(6/8) Installing iproute2-tc (5.12.0-r0)
(7/8) Installing iproute2-minimal (5.12.0-r0)
(8/8) Installing iproute2-ss (5.12.0-r0)
Executing busybox-1.33.1-r6.trigger
OK: 31 MiB in 56 packages
(1/2) Installing mii-tool (1.60_git20140218-r2)
(2/2) Installing net-tools (1.60_git20140218-r2)
Executing busybox-1.33.1-r6.trigger
OK: 32 MiB in 58 packages
(1/4) Installing libacl (2.2.53-r0)
(2/4) Installing libattr (2.5.1-r0)
(3/4) Installing utmps (0.1.0.2-r0)
Executing utmps-0.1.0.2-r0.pre-install
(4/4) Installing coreutils (8.32-r2)
Executing busybox-1.33.1-r6.trigger
OK: 33 MiB in 62 packages
(1/1) Installing libc6-compat (1.2.2-r3)
OK: 33 MiB in 63 packages
Removing intermediate container 017c2520722f
Step 5/8 : RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone
Removing intermediate container a9966990bd53
Step 6/8 : ENV TIME_ZONE Asia/Shanghai
Removing intermediate container 3585ee361b81
Step 7/8 : ENV LANG=zh_CN.UTF-8
Removing intermediate container 859c65d29682
Step 8/8 : ENV LANGUAGE=zh_CN:zh
Removing intermediate container 70077f322d9a
Successfully built dfa303492843
Successfully tagged alpine_golong:v1.6
三、确认
root@hh:/volume1/development/source/alpine_golang
alpine_python v1.1 1e7f45424e9e 6 hours ago 92.3MB
192.168.50.204:33080/mynas/alpine_python v1.1 1e7f45424e9e 6 hours ago 92.3MB