[원티드 챌린지 2/4] docker 심화

jaeyunim00·2023년 8월 9일
0

Cloud

목록 보기
3/8
post-thumbnail

도커 이미지 빌드하기

Dockerfile syntax

  • FROM: 베이스 이미지 선정
  • WORKDIR: work directory 선정
  • COPY: 복사할 파일 선정(예: 작업한 서비스 파일들)
  • RUN: 실행할 명령어
  • ENTRYPOINT: 컨테이너가 시작할 때 실행할 명령어(예: 서버 실행)

공식문서 참조


도커 이미지를 허브에 올리기

Docker Hub에 이미지를 등록하려면, 아래와 같은 규칙을 준수해야 한다.

  • docker push [OPTIONS] [Docker Hub 사용자명]/이미지명:[태그명]

태그를 설정하는 방법

  • build시: docker build -t my-httpd .
  • build후: docker image tag [image name]

간단한 실습

도커 이미지를 빌드 할 때, . 은 현재 위치를 기준으로 Dockerfile을 찾는다는 뜻이기 때문에, 현재 경로에 Dockerfile이 없다면 다음과 같이 오류가 뜬다.

경로를 제대로 입력하고, 태그와 함께 이미지를 빌드하자

성공적으로 이미지가 생성된 걸 확인할 수 있다.


도커 네트워크

네트워크 드라이버

docker network ls를 통해 네트워크 드라이버를 확인할 수 있다.

처음에 명령어를 입력하면, 기본적으로 존재하는 드라이버를 확인할 수 있고, 이는 핵심 네트워킹 기능을 제공한다.

  • bridge: 기본 네트워크 드라이버, 동일한 도커 호스트에서 컨테이너 간의 통신을 도와줌
  • host: 호스트의 네트워크를 직접 사용
  • overlay: 서로 다른 도커 호스트의 컨테이너 간 통신을 도와줌

brige네트워크 들여다보기

docker network inspect bridge

위 명령어를 통해서 네트워크에 연결된 컨테이너들을 확인할 수 있다.

현재는 다음과 같이 bridge네트워크의 컨테이너가 비어있지만,

이미지를 실행을 하면, bridge네트워크에 컨테이너가 추가된걸 확인 할 수 있다.

만약 여러개의 컨테이너가 떠있다면, bridge라는 네트워크안에 여러개의 컨테이너가 떠 있을 것이다.

네트워크 생성하기 및 이용하기

docker network create -d bridge my-bridge-network 

네트워크가 생성된 걸 확인할 수 있다!

생성한 my-bride-network에 my-httpd를 넣고싶다면

--net [네트워크이름] 옵션을 추가하면서 이미지를 실행하면 된다.

docker run --net my-bridge-network my-httpd

문제 없이 my-brige-network에 추가됐다.


profile
IT Note

0개의 댓글