티스토리 뷰

DevOps/Docker

1. Docker 컨테이너 실행

Mr.Kang 2021. 4. 4. 11:34

1. Docker 설치

$ curl -s https://get.docker.com/ | sudo sh

2. Docker 그룹 추가

$ cat /etc/group
$ sudo usermod -aG docker $USER
$ sudo service docker restart

3. Dockerfile

참고 : jaystevency.tistory.com/20

 

[Docker] #1 Docker를 이용해 나만의 서버 환경 구성하기

Docker 실습 환경 Dev OS : Mac OS Sierra Terminal : iTerm 본 포스팅은 Docker networking 설정으로 Docker 컨테이너(?) 끼리 네트워크 환경을 구성합니다. 기본적인 Docker의 활용은 박재성님의 Docker 유튜브..

jaystevency.tistory.com

FROM 1and1internet/ubuntu-16-nginx
 
RUN apt-get update
 
RUN apt-get install -y language-pack-ko
 
# set locale ko_KR
RUN locale-gen ko_KR.UTF-8
 
ENV LANG ko_KR.UTF-8
ENV LANGUAGE ko_KR.UTF-8
ENV LC_ALL ko_KR.UTF-8
 
RUN apt-get install -y \
        vim \
        iputils-ping \
        net-tools
 
 
CMD /bin/bash


출처: https://jaystevency.tistory.com/20 [JayDevLife]

FROM : 실습에 필요한 nginx가 설치된 ubuntu 16 버전 입니다. 해당 이미지는 docker hub에서 가져 옵니다.

RUN : 필요 프로그램 설치

ENV :  한글 인코딩 설정

* 빌드 하기전에 docker-machine 에서 docker 가상 머신의 상태를 확인해 주세요. 가상머신의 상태가 Running 이 아니면 작동하지 않음

 

4. Docker 컨테이너의 Network구성

Docker는 가상 머신 내에 여러대의 컨테이너를 구성할 수 있는데 여기서 각 컨테이너들과 가상머신(Docker Host)는 브리지(Bridge)로 연결되어 있다.
이번 실습은 하나의 Docker Host 아래에 두대의 컨테이너를 띄운 후 그 안에 결정된 ip 주소로 ping을 주고 받는 방식다. 

Docker network에 더 자세한 내용은 도커의 문서를 확인하면 된다.

docs.docker.com/engine/userguide/networking/

 

Redirecting…

 

docs.docker.com

Docker 컨테이너

Docker Network 구성

docker network create --subnet=10.10.10.0/24 docker-net

위와 같이 네트워크를 구성을 하면 docker-net이라는 이름과 172.25.0.0/16의 IP대역을 가진 네트워크가 생성된다.

 

5. Docker 컨테이너 구동시 Network를 할당하여 실행

위와 같이 docker images의 명령은 현재 호스트에 설치되어 있는 컨테이너를 확인 할 수 있다.

위와 같이 docker network ls의 명령은 4장에서 구성한 네트워크의 구성 정보를 확인 할 수 있습니다.

 

위와 같이 docker network inspect pgsql_db 명령은 pgsql_db의 네트워크 정보를 확인 할 수 있습니다.

docker run -dit --network=docker-net -p 8001:8080 --name=pgsql-run1 postgres

docker run -dit --network=docker-net -p 8002:8080 --name=pgsql-run2 pgadmin

터미널에 치면 앞에 8001 번은 docker 호스트를 통해 접속할 수 있는 port 번호 다. 
뒤에 8080포트는 브릿지 내에 컨테이너 에서 접속하기 위해 열어 놓는 포트다. 
네트워크 정보는 docker-net으로 설정 되고 이미지는 postgres이미지를 사용다. 
-d은 데몬으로 실행 할 수 있게 백그라운드 실행을 할 수 있다.. 
-it 는 터미널 모드로 해당 컨테이너의 쉘(Shell)과 직접 상호작용을 하면서 연속으로 명령어를 실행 할 수 있다.

 

위와 같이 설정이 끝나면 10.10.10.0/24번대로 양쪽의 컨테이너가 해당 아이피 대역에서 통신이 가능하다.

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함