거의 제로부터 시작하는 도커가 배운 여행 노트.

3390 단어 Docker

앞부분


docker가 너무 편해요. 지금 모르거나 IT 엔지니어라고 부르는 건 어때요?이런 세계선에서는 도커를 잘 모르고 무심코 사용하고 있지만 ECS라파게이트라는 도커를 탈출할 수 없는 청년은 광활한 인터넷을 하루 종일 헤매며 얻은 도커의 지식을 담고 있다.
※ 엉망진창으로 썼을 수도 있다는 얘기다.조심해야 돼.

저는 이거부터 하면 될 것 같아요.


나는 이것이 너무 좋다고 생각한다.
다양한 사이트를 둘러싸고 이곳에 도착했다.
구글 번역도 아마 읽을 수 있을 거예요. 영어지만 화이팅!
이를 바탕으로 오늘의 심정을 총결

COPY 및 Volume 정보


오늘 아침volume에 소스 코드를 설치하여 만든 이미지를 Fargate에 배치하면 503개의 오류가 발생합니다. 시끄럽지만 좋은 과자 이야기입니다.
기본적으로 Docker 개발 시 소스 코드가 여러 번 변경됩니다.
docker run -v /host/path:/container/path hoge
이런 느낌으로 호스트의 디렉터리를 용기의 디렉터리에 불러와서 개발합니다.
그렇지 않으면, 용기에서 프로그램을 작성하거나, 호스트에서 원본 코드를 다시 쓸 때마다dockerbuild를 해야 합니다.
하지만 이 용기에는 원본 코드가 없다는 얘기다.
물론 이미지에는 원본 코드가 포함되지 않습니다.
Fargate에서 이런 인상이 펼쳐져도 나타나지 않는 것은 당연하다.
따라서 어딘가에 공개하려면 지금까지 Volume에 불러온 파일들을 이미지에 포함해야 한다.
그때는 COPY를 사용했어요.
COPY . /app/src/
이렇게 Dockerfile에 쓰면 이미지에 원본 코드가 포함됩니다.
개발 환경은 Volume로 마운트하면 되지만 배포하려면 COPY가 필요합니다.
여기서 나는 개발과 정식 공연에서 두 개의 Dockerfile을 써야 하는 것이 매우 번거롭다고 생각한다.
다음 연결.

멀티 레벨 서비스 검증 및 운영


검증과 공식적인 Dockerfile을 분리하는 것은 매우 번거롭다고 생각합니다. 2016년에는 분리할 수 밖에 없을 것 같지만 현재는'다단계 서비스'가 있습니다. 분리하지 않아도 됩니다.
FROM node:10.16.3 AS developmentFROM node:10.16.3-slim AS production
이것FROM ・ AS hoge이 포인트입니다.
이것hoge을 지정한 곳을 통해 개발용과 정식용으로 나눌 수 있다.
지정은 target 으로 하면 됩니다.
docker-compose.yaml
version: '3.7'

services:
  chat:
    build:
      context: .
      target: development
    command: npx nodemon index.js
    ports:
      - '3000:3000'
    volumes:
      - .:/srv/chat
      - chat_node_modules:/srv/chat/node_modules
target이라고 쓰여 있는데 거기를 AS 뒤에 있는 글자로 쓰면 돼요.
아마 이것의 진정한 장점은 여기가 아니지만, 아직 잘 모르기 때문에 늘 쓴다고 느낀다
COPY --from=development --chown=root:root /srv/chat/node_modules ./node_modules
이렇게 해도 돼요.
다른 단계의 구축 결과를 복제할 수 있다는 얘기다.
Docker를 사용하지 않았기 때문에 아무 말도 할 수 없으니 자세한 내용은 이 근처를 보십시오.
https://qiita.com/minamijoyo/items/711704e85b45ff5d6405

보다 크면 같음


총괄해 보면 그리 대단한 것은 아니다.

좋은 웹페이지 즐겨찾기