์๋ ํ์ธ์ VSCode Docker ํ์ ๋๋ค.
์ต๊ทผ ์ ๋ฐ์ดํธ๋ก ์ธํด ์ด๋ฏธ์ง ์ด๋ฆ์ Ctrl+ํด๋ฆญํ ๋ค์ DockerHub์์ ์ ์ ํ ์ด๋ฏธ์ง๋ฅผ ์ด ์ ์๋ค๋ ์ฌ์ค์ ์๊ฒ ๋์์ต๋๋ค. ์ ๋ง ํ์์ ์ ๋๋ค! . ๊ทธ๋์ ๋ฐฉ๊ธ ์ด ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ณ ๊ฑฐ๋ ์ฐจ๋จ๊ธฐ๋ ์ ํ ์์์ง๋ง ์์ ํ์ผ๋ฉด ์ข์์ ๊ฒ์ ๋๋ค.
๋ด ๋ชจ๋ ์คํ
์ด์ง๊ฐ ๋์ผํ WORKDIR
๋ฐ LABEL
, ๊ทธ๋ฆฌ๊ณ EXPOSE
- ๋์ผํ ํฌํธ๋ฅผ ๊ฐ๊ธฐ๋ฅผ ์ํ๋ฏ๋ก ์๋จ์ ๊ณต์ ์ด๋ฏธ์ง๋ฅผ ๋ฃ๊ณ base
๋ฌด๋. ๋ด๊ฐ ์์
ํ๋ ๊ฒ์ ์ค๋ํซ์ ์ด๋ ์ต๋๋ค.
FROM node:12-alpine as base
LABEL MAINTAINER="Sam Huynh"
WORKDIR /srv/app
EXPOSE 1337
# Dev dependencies
FROM base as dev_dependencies
COPY package.json yarn.lock ./
RUN yarn install && \
yarn cache clean
# Dev stage
FROM base as development
COPY . .
COPY --from=dev_dependencies /srv/app/node_modules ./node_modules
CMD ["yarn", "develop"]
# Other stages
## Build something else...
FROM node:12-alpine
์ ์๋ node
๋ฅผ Ctrl+ํด๋ฆญํ๋ฉด ์์๋๋ ๊ณต์ ๋
ธ๋ ๋์ปค ์ด๋ฏธ์ง ๋ฅผ ์ด๋ผ
--from=dev_dependencies
์ ์๋ dev_dependencies
๋ฅผ Ctrl ํค๋ฅผ ๋๋ฅธ ์ฑ ํด๋ฆญํ๋ฉด ํด๋น ๋จ๊ณ๋ก ๋์๊ฐ๋๋ฐ, ์ด๊ฒ๋ ๋ง์ต๋๋ค.
FROM base
base
๋ฅผ Ctrl+ํด๋ฆญํ๋ฉด base
๋จ๊ณ๋ก ๋์๊ฐ๋๋ค.FROM base
base
๋ฅผ Ctrl+ํด๋ฆญํ๋ฉด ์กด์ฌํ์ง ์๋ "๊ณต์" ๊ธฐ๋ณธ ๋์ปค ์ด๋ฏธ์ง ๋ฅผ ์ด๋ผ ์ฌ๊ธฐ์ ์ ๋ ฅํ ์ ์๋ ๋ค๋ฅธ ์ ๋ณด๊ฐ ์์ผ๋ฉด ์๋ ค์ฃผ์ธ์.
์ต๊ทผ ์ ๋ฐ์ดํธ๋ก ์ธํด ์ด๋ฏธ์ง ์ด๋ฆ์ Ctrl+ํด๋ฆญํ ๋ค์ DockerHub์์ ์ ์ ํ ์ด๋ฆ์ ์ด ์ ์๋ค๋ ๊ฒ์ ์์์ต๋๋ค. ์ด๋ _fantastic!_ ์ ๋๋ค.
ํฅ๋ฏธ๋กญ๊ฒ๋ ๊ทธ ๊ธฐ๋ฅ์ ์ด์ ์ ์ด๋ 1๋ ๋์ ์กด์ฌํ์ด์ผ ํ์ต๋๋ค... ๐ค ์ ์ฉํ๋ค๊ณ ์๊ฐํด์ ๊ธฐ์ฉ๋๋ค, @samhwang!
๊ทํ์ ๋ฌธ์ ์ ๋ํด ์๋ ค์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ ๊ฐ์ ํฐ์ผ์ ์ด์์ต๋๋ค.
์, ๋ค๋ฅธ ํ๋ก์ ํธ๋ฅผ ์ํด ์ผ๋ถ Dockerfile ์์ ์ ์์ํ๋ ๋์ ์ต์ ํ ๋ฌ ์ ์ ์๋ํ๊ฒ ๋์์ผ๋ฉฐ 3์ ์ด์ ์๋ ๋ณธ ์ ์ด ์์ต๋๋ค. :ํผ
@samhwang ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด #2146์ ์ด์์ต๋๋ค. ์ด ๋ฒ๊ทธ๋ฅผ ์ ๊ณ ํด ์ฃผ์ ์ ๋ค์ ํ ๋ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
์ด์ ๋ํ ์์ ์ฌํญ์ด ํฌํจ๋ Docker 1.4.0์ ์ถ์ํ์ต๋๋ค.