오늘 정한 건 오늘안에 해결하기

more

컨테이너 내부 파일 ⇔ 로컬 PC 파일 복사 (docker cp)

docker cp 컨테이너와 로컬 PC 사이에서 파일 또는 폴더를 복사하는 명령어 사용법 docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH 정리하면 docker cp [OPTION] 저장할파일또는폴더 저장위치예시 ex1) 로컬 파일(./some_file_in_loca)을 컨테이너의 work 폴더에 복사 docker cp ./some_file_in_local CONTAINER:/workex2) 컨테이너에 있는 /var/logs 폴더에 있는 모든 파일을 로컬 PC의 /tmp/app_logs 폴더에 복사 docker cp CONTAINER:/var/logs/ /tmp/app_lo..

Docker 2023.10.11 0

[Docker] Docker References - EXPOSE

EXPORT 명령어 기본 문법 EXPOSE [/...] EXPOSE 명령어(instruction)는 Docker에게 container가 동작하는 동안 특정 포트를 사용한다는 것을 알려준다. 포트의 프로토콜은 TCP 또는 UDP이고 기본값으로는 TCP가 적용된다. EXPOSE 명령어가 실제로 포트 번호를 publish하는 건 아니다. 단지 이미지를 빌드하는 사람과 컨테이너를 동작시키는 사람 사이에 어떤 포트를 publish하도록 의도되었는지를 문서의 형태로 제공된다. 진짜로 container에서 port 번호를 publish하고 싶다면 docker run을 할 때 컨테이너의 -p 옵션값을 설정해줘야 한다. ex) EXPOSE 80/udp # UDP의 80번 포트를 열도록 하고 싶음 EXPOSE 80/tcp..

Docker 2023.09.18 1

[Docker] Docker References - LABEL

기본적인 LABEL 명령어(instruction) 문법LABEL = = = ... LABEL 명령어는 image에 메타데이터를 추가하는 기능을 갖고 있다. 위와 같이 LABEL은 key-value 쌍이다. 만약 LABEL 값에 공백을 추가하고 싶다면 큰 따옴표와 \를 사용하면 된다. ex) LABEL "com.example.vendor"="ACME Incorporated" # 공백을 포함할 때 큰 따옴표를 사용함 LABEL com.example.label-with-value="foo" LABEL version="1.0" LABEL description="This text illustrates \ that label-values can span multiple lines." # 공백을 포함할 때 백슬래시랑..

Docker 2023.09.18 0

[Docker] Docker References - CMD

CMD 명령어(instruction) 형식CMD ["executable","param1","param2"] (exec 형식, 이 형식을 더 선호된다) CMD ["param1","param2"] (ENTRYPOINT에 대한 기본 파라미터) CMD command param1 param2 (shell 형식) Dockerfile에는 오직 하나의 `CMD 명령어`만 존재할 수 있다. 만약, 1개 이상의 CMD 가 있다면, 가장 마지막에 있는 CMD가 동작한다. `CMD의 주요 목적`은 실행하고 있는 컨테이너에 기본값을 제공하는 것이다. 이 기본값들은 `executable`을 포함하거나 생략할 수 있다. (물론, 생략하는 경우에는 ENTRYPOINT instruction을 확정해야 한다) 만약에 CMD가 ENTRY..

Docker 2023.09.15 0

[Docker] Docker References - RUN

RUN 명령어는 2개의 형태를 가진다. RUN ⇒ 여기서의 command는 shell 형식의 명령어다. Linux에서는 /bin/sh -c, Windows 에서는 cmd /S /C가 생략된 거라 보면 된다. RUN ["executable", "param1", "param2"] ⇒ 이를 exec form 이라고 함 RUN 명령어(instruction)는 현재의 이미지 위에 새로운 층(layer)에서 명령을 실행하고 결과를 커밋한다. 커밋된 결과 이미지는 Dockerfile의 다음 단계에서 사용된다. 이렇게 층층이 쌓이는 RUN 명령어와 커밋들은 커밋이 간편하고 컨테이너가 Docker의 핵심적인 개념을 준수한다. exec form을 통해 shell string을 처리해야 하는 작업을 피할 수 있고 shell..

Docker 2023.09.13 0