chaosblade

Форк
0
/
Dockerfile 
53 строки · 1.4 Кб
1
FROM golang:1.20.5 AS builder
2
LABEL maintainer="Changjun Xiao, Ming Cheng"
3

4
ARG BLADE_VERSION=0.0.1
5
ARG MUSL_VERSION=1.2.0
6

7
# Using 163 mirror for Debian Strech
8
RUN sed -i 's/deb.debian.org/mirrors.163.com/g' /etc/apt/sources.list
9
RUN apt-get update && apt-get install unzip
10

11
# # The image is used to build chaosblade for musl
12
RUN wget http://www.musl-libc.org/releases/musl-${MUSL_VERSION}.tar.gz \
13
    && tar -zxvf musl-${MUSL_VERSION}.tar.gz \
14
    && rm musl-${MUSL_VERSION}.tar.gz \
15
    && cd musl* \
16
    && ./configure \
17
    && make \
18
    && make install \
19
    && rm -rf musl*
20

21
ENV CC /usr/local/musl/bin/musl-gcc
22
ENV GOOS linux
23
ENV BLADE_BUILD_PATH /tmp/chaosblade
24

25
# Print go version
26
RUN ${CC} --version
27
RUN go version
28

29
# Build blade
30
COPY . ${BLADE_BUILD_PATH}
31
WORKDIR ${BLADE_BUILD_PATH}
32
RUN make clean && \
33
  go mod vendor && \
34
  env GO111MODULE=on GO15VENDOREXPERIMENT=1 make && \
35
  mv -f ${BLADE_BUILD_PATH}/target/chaosblade-${BLADE_VERSION} /usr/local/chaosblade
36

37
# Stage2
38
FROM alpine:3.13.7
39

40
# @from https://mirrors.ustc.edu.cn/help/alpine.html
41
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
42

43
# Install necessary package.
44
RUN apk --no-cache add --update iproute2 bash util-linux curl \
45
    && mkdir -p /lib/modules/$(uname -r)
46

47
ENV CHAOSBLADE_HOME /usr/local/chaosblade
48
COPY --from=builder ${CHAOSBLADE_HOME} ${CHAOSBLADE_HOME}
49

50
WORKDIR ${CHAOSBLADE_HOME}
51
ENV PATH ${CHAOSBLADE_HOME}:${PATH}
52

53
CMD ["blade"]
54

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.