티스토리 뷰
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
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/
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번대로 양쪽의 컨테이너가 해당 아이피 대역에서 통신이 가능하다.
'DevOps > Docker' 카테고리의 다른 글
[Docker]Dockerfile 구성 및 빌드 (0) | 2021.04.04 |
---|---|
3. 이미지 빌드 환경 만들기 (0) | 2021.04.04 |
2. Docker 이미지 만들고 배포하기 (0) | 2021.04.04 |
Docker Container 관리툴[docker cli dashboard] (0) | 2021.04.04 |
[Docker]Docker Rabbitmq plugin 만들기와 실행 (0) | 2020.06.05 |
- Total
- Today
- Yesterday
- 마이바티스
- Letsencrypt+nginx
- letsencrypt
- Letsencrypt wildcard auto renew
- camelcase
- Intellj들여쓰기
- SSL
- 마이바티스CamelCase
- Letsencrypt wildcard
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |