Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
공백 변경 숨기기
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
텍스트 스타일
모양 변경
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
My Dockerfile vs the generated one
생성일
3년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
18 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
96 행
복사
21 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
93 행
복사
복사
복사됨
복사
복사됨
# Find eligible builder and runner images on Docker Hub. We use Ubuntu/Debian
instead of
# Find eligible builder and runner images on Docker Hub. We use Ubuntu/Debian
#
Alpine to avoid DNS resolution issues in production.
#
instead of
Alpine to avoid DNS resolution issues in production.
#
#
# https://hub.docker.com/r/hexpm/elixir/tags?page=1&name=ubuntu
# https://hub.docker.com/r/hexpm/elixir/tags?page=1&name=ubuntu
# https://hub.docker.com/_/ubuntu?tab=tags
# https://hub.docker.com/_/ubuntu?tab=tags
#
#
복사
복사됨
복사
복사됨
#
# This file is based on these images:
# This file is based on these images:
#
#
# - https://hub.docker.com/r/hexpm/elixir/tags - for the build image
# - https://hub.docker.com/r/hexpm/elixir/tags - for the build image
복사
복사됨
복사
복사됨
# - https://hub.docker.com/_/debian?tab=tags&page=1&name=bullseye-
20210902
-slim - for the release image
# - https://hub.docker.com/_/debian?tab=tags&page=1&name=bullseye-
20230227
-slim - for the release image
# - https://pkgs.org/ - resource for finding needed packages
# - https://pkgs.org/ - resource for finding needed packages
복사
복사됨
복사
복사됨
# - Ex: hexpm/elixir:1.14.
0
-erlang-
24
.3.
4
-debian-bullseye-
20210902
-slim
# - Ex: hexpm/elixir:1.14.
4
-erlang-
25
.3.
2
-debian-bullseye-
20230227
-slim
#
#
복사
복사됨
복사
복사됨
ARG ELIXIR_VERSION=1.14.
0
ARG ELIXIR_VERSION=1.14.
4
ARG OTP_VERSION=
24.3.4
ARG OTP_VERSION=
26.0
ARG DEBIAN_VERSION=bullseye-
20210902
-slim
ARG DEBIAN_VERSION=bullseye-
20230227
-slim
복사
복사됨
복사
복사됨
ARG BUILDER_IMAGE="
hexpm/elixir:${ELIXIR_VERSION}-erlang-${OTP_VERSION}-debian-${DEBIAN_VERSION}"
ARG BUILDER_IMAGE="
docker.io/
hexpm/elixir:${ELIXIR_VERSION}-erlang-${OTP_VERSION}-debian-${DEBIAN_VERSION}"
ARG RUNNER_IMAGE="
debian:${DEBIAN_VERSION}"
ARG RUNNER_IMAGE="
docker.io/
debian:${DEBIAN_VERSION}"
FROM ${BUILDER_IMAGE} as builder
FROM ${BUILDER_IMAGE} as builder
복사
복사됨
복사
복사됨
# install build dependencies
# install build dependencies
(CUSTOM: nodejs + npm)
RUN apt-get update -y && apt-get install -y build-essential git
\
RUN apt-get update -y && apt-get install -y build-essential git
nodejs npm
\
&& apt-get clean && rm -f /var/lib/apt/lists/*_*
&& apt-get clean && rm -f /var/lib/apt/lists/*_*
# prepare build dir
# prepare build dir
WORKDIR /app
WORKDIR /app
# install hex + rebar
# install hex + rebar
RUN mix local.hex --force && \
RUN mix local.hex --force && \
mix local.rebar --force
mix local.rebar --force
# set build ENV
# set build ENV
ENV MIX_ENV="prod"
ENV MIX_ENV="prod"
# install mix dependencies
# install mix dependencies
COPY mix.exs mix.lock ./
COPY mix.exs mix.lock ./
RUN mix deps.get --only $MIX_ENV
RUN mix deps.get --only $MIX_ENV
RUN mkdir config
RUN mkdir config
# copy compile-time config files before we compile dependencies
# copy compile-time config files before we compile dependencies
# to ensure any relevant config change will trigger the dependencies
# to ensure any relevant config change will trigger the dependencies
# to be re-compiled.
# to be re-compiled.
COPY config/config.exs config/${MIX_ENV}.exs config/
COPY config/config.exs config/${MIX_ENV}.exs config/
RUN mix deps.compile
RUN mix deps.compile
복사
복사됨
복사
복사됨
# CUSTOM: copy `lib` first so tailwind purge will work
COPY lib lib
COPY priv priv
COPY priv priv
복사
복사됨
복사
복사됨
# note: if your project uses a tool like https://purgecss.com/,
# which customizes asset compilation based on what it finds in
# your Elixir templates, you will need to move the asset compilation
# step down so that `lib` is available.
COPY assets assets
COPY assets assets
복사
복사됨
복사
복사됨
# CUSTOM: install npm dependencies
RUN cd assets && npm install
# compile assets
# compile assets
RUN mix assets.deploy
RUN mix assets.deploy
# Compile the release
# Compile the release
복사
복사됨
복사
복사됨
COPY lib lib
RUN mix compile
RUN mix compile
# Changes to config/runtime.exs don't require recompiling the code
# Changes to config/runtime.exs don't require recompiling the code
COPY config/runtime.exs config/
COPY config/runtime.exs config/
COPY rel rel
COPY rel rel
RUN mix release
RUN mix release
# start a new build stage so that the final image will only contain
# start a new build stage so that the final image will only contain
# the compiled release and other runtime necessities
# the compiled release and other runtime necessities
FROM ${RUNNER_IMAGE}
FROM ${RUNNER_IMAGE}
RUN apt-get update -y && apt-get install -y libstdc++6 openssl libncurses5 locales \
RUN apt-get update -y && apt-get install -y libstdc++6 openssl libncurses5 locales \
&& apt-get clean && rm -f /var/lib/apt/lists/*_*
&& apt-get clean && rm -f /var/lib/apt/lists/*_*
# Set the locale
# Set the locale
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen
ENV LANG en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
ENV LC_ALL en_US.UTF-8
WORKDIR "/app"
WORKDIR "/app"
RUN chown nobody /app
RUN chown nobody /app
# set runner ENV
# set runner ENV
ENV MIX_ENV="prod"
ENV MIX_ENV="prod"
# Only copy the final release from the build stage
# Only copy the final release from the build stage
COPY --from=builder --chown=nobody:root /app/_build/${MIX_ENV}/rel/my_app ./
COPY --from=builder --chown=nobody:root /app/_build/${MIX_ENV}/rel/my_app ./
USER nobody
USER nobody
복사
복사됨
복사
복사됨
CMD
/app/bin/server
CMD
["sh", "-c", "/app/bin/my_app eval TodoList.Release.migrate &&
/app/bin/server
"]
저장된 비교 결과
원본
파일 열기
# Find eligible builder and runner images on Docker Hub. We use Ubuntu/Debian instead of # Alpine to avoid DNS resolution issues in production. # # https://hub.docker.com/r/hexpm/elixir/tags?page=1&name=ubuntu # https://hub.docker.com/_/ubuntu?tab=tags # # # This file is based on these images: # # - https://hub.docker.com/r/hexpm/elixir/tags - for the build image # - https://hub.docker.com/_/debian?tab=tags&page=1&name=bullseye-20210902-slim - for the release image # - https://pkgs.org/ - resource for finding needed packages # - Ex: hexpm/elixir:1.14.0-erlang-24.3.4-debian-bullseye-20210902-slim # ARG ELIXIR_VERSION=1.14.0 ARG OTP_VERSION=24.3.4 ARG DEBIAN_VERSION=bullseye-20210902-slim ARG BUILDER_IMAGE="hexpm/elixir:${ELIXIR_VERSION}-erlang-${OTP_VERSION}-debian-${DEBIAN_VERSION}" ARG RUNNER_IMAGE="debian:${DEBIAN_VERSION}" FROM ${BUILDER_IMAGE} as builder # install build dependencies RUN apt-get update -y && apt-get install -y build-essential git \ && apt-get clean && rm -f /var/lib/apt/lists/*_* # prepare build dir WORKDIR /app # install hex + rebar RUN mix local.hex --force && \ mix local.rebar --force # set build ENV ENV MIX_ENV="prod" # install mix dependencies COPY mix.exs mix.lock ./ RUN mix deps.get --only $MIX_ENV RUN mkdir config # copy compile-time config files before we compile dependencies # to ensure any relevant config change will trigger the dependencies # to be re-compiled. COPY config/config.exs config/${MIX_ENV}.exs config/ RUN mix deps.compile COPY priv priv # note: if your project uses a tool like https://purgecss.com/, # which customizes asset compilation based on what it finds in # your Elixir templates, you will need to move the asset compilation # step down so that `lib` is available. COPY assets assets # compile assets RUN mix assets.deploy # Compile the release COPY lib lib RUN mix compile # Changes to config/runtime.exs don't require recompiling the code COPY config/runtime.exs config/ COPY rel rel RUN mix release # start a new build stage so that the final image will only contain # the compiled release and other runtime necessities FROM ${RUNNER_IMAGE} RUN apt-get update -y && apt-get install -y libstdc++6 openssl libncurses5 locales \ && apt-get clean && rm -f /var/lib/apt/lists/*_* # Set the locale RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US.UTF-8 WORKDIR "/app" RUN chown nobody /app # set runner ENV ENV MIX_ENV="prod" # Only copy the final release from the build stage COPY --from=builder --chown=nobody:root /app/_build/${MIX_ENV}/rel/my_app ./ USER nobody CMD /app/bin/server
수정본
파일 열기
# Find eligible builder and runner images on Docker Hub. We use Ubuntu/Debian # instead of Alpine to avoid DNS resolution issues in production. # # https://hub.docker.com/r/hexpm/elixir/tags?page=1&name=ubuntu # https://hub.docker.com/_/ubuntu?tab=tags # # This file is based on these images: # # - https://hub.docker.com/r/hexpm/elixir/tags - for the build image # - https://hub.docker.com/_/debian?tab=tags&page=1&name=bullseye-20230227-slim - for the release image # - https://pkgs.org/ - resource for finding needed packages # - Ex: hexpm/elixir:1.14.4-erlang-25.3.2-debian-bullseye-20230227-slim # ARG ELIXIR_VERSION=1.14.4 ARG OTP_VERSION=26.0 ARG DEBIAN_VERSION=bullseye-20230227-slim ARG BUILDER_IMAGE="docker.io/hexpm/elixir:${ELIXIR_VERSION}-erlang-${OTP_VERSION}-debian-${DEBIAN_VERSION}" ARG RUNNER_IMAGE="docker.io/debian:${DEBIAN_VERSION}" FROM ${BUILDER_IMAGE} as builder # install build dependencies (CUSTOM: nodejs + npm) RUN apt-get update -y && apt-get install -y build-essential git nodejs npm \ && apt-get clean && rm -f /var/lib/apt/lists/*_* # prepare build dir WORKDIR /app # install hex + rebar RUN mix local.hex --force && \ mix local.rebar --force # set build ENV ENV MIX_ENV="prod" # install mix dependencies COPY mix.exs mix.lock ./ RUN mix deps.get --only $MIX_ENV RUN mkdir config # copy compile-time config files before we compile dependencies # to ensure any relevant config change will trigger the dependencies # to be re-compiled. COPY config/config.exs config/${MIX_ENV}.exs config/ RUN mix deps.compile # CUSTOM: copy `lib` first so tailwind purge will work COPY lib lib COPY priv priv COPY assets assets # CUSTOM: install npm dependencies RUN cd assets && npm install # compile assets RUN mix assets.deploy # Compile the release RUN mix compile # Changes to config/runtime.exs don't require recompiling the code COPY config/runtime.exs config/ COPY rel rel RUN mix release # start a new build stage so that the final image will only contain # the compiled release and other runtime necessities FROM ${RUNNER_IMAGE} RUN apt-get update -y && apt-get install -y libstdc++6 openssl libncurses5 locales \ && apt-get clean && rm -f /var/lib/apt/lists/*_* # Set the locale RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US.UTF-8 WORKDIR "/app" RUN chown nobody /app # set runner ENV ENV MIX_ENV="prod" # Only copy the final release from the build stage COPY --from=builder --chown=nobody:root /app/_build/${MIX_ENV}/rel/my_app ./ USER nobody CMD ["sh", "-c", "/app/bin/my_app eval TodoList.Release.migrate && /app/bin/server"]
비교하기