🟡 과제2
- (1) 서로 다른 Docker 이미지를 2개 이상 만들기
- (2) 서로 다른 이미지 간에는 통신을 하여 무언가를 주고 받음
- (3) 받은 Docker 이미지들을 Docker Hub에 업로드하기
🟡 (1) 서로 다른 Docker 이미지를 2개 이상 만들기
Docker file 1
카카오페이지를 직접 제작함# 가상머신 중 우분투 os를 사용함 FROM ubuntu:18.04 # 우분투 환경에서 업데이트 후, nginx 설치 RUN apt-get -y update && apt-get install nginx -y # 왼쪽 코드는 host 컴퓨터(=윈도우) // 오른쪽 guest 컴퓨터 (=가상머신 우분투) COPY index.html /var/www/html/ COPY style/style.css /var/www/html/style/ COPY images/. /var/www/html/images/ # port 80번 EXPOSE 80 # nginx를 g옵션 & daemon-off 옵션을 주겠음 CMD ["nginx", "-g", "daemon off;"]
Docker file 2
로그인페이지를 다른 곳(무료배포)에서 가져옴# login-form-v3 # 가상머신 중 우분투 os를 사용함 FROM ubuntu:18.04 # 우분투 환경에서 업데이트 후, nginx 설치 RUN apt-get -y update && apt-get install nginx -y # 왼쪽 코드는 host 컴퓨터(=윈도우) // 오른쪽 guest 컴퓨터 (=가상머신 우분투) COPY css/. var/www/html/css/ COPY fonts/. var/www/html/fonts/ COPY images/. /var/www/html/images/ COPY js/. /var/www/html/js/ COPY vendor/. /var/www/html/vendor/ COPY index.html/. var/www/html/ # port 80번 EXPOSE 80 # nginx를 g옵션 & daemon-off 옵션을 주겠음 CMD ["nginx", "-g", "daemon off;"]
🟡 (2) 서로 다른 이미지 간에는 통신을 하여 무언가를 주고 받음
- 통신을 하기 위해서는
Docker 네트워크
가 필요하다- Docker 컨테이너 간의 통신을 하기 위해서 여러개의 컨테이너를 하나의 Docker 네트워크에 연결해야 한다
Docker 네트워크
는 컨테이너 간의 네트워크가 가능하도록 도와준다- 📢 명령어는 다음과 같다
# 네트워크 조회 docker network ls # 네트워크 생성 : docker network create [이름] docker network create yuri-net docker network ls # 네트워크 상세 정보 : docker network inspect [이름] docker network inspect yuri-net docker image ls # 네트워크에 컨테이너 연결(1) : docker run -itd --name one [도커 이미지 ID] docker run -itd --name one e7f91afcd072 docker network inspect bridge docker network connect yuri-net one docker network inspect yuri-net # 네트워크에 컨테이너 연결(2) two도 위의 one과 마찬가지로 docker run -itd --name two e7f91afcd072 docker network connect yuri-net two docker network inspect yuri-net
- xshell에서 하다가 안되서 powershell에서 실행한 code
- 📢 명령어는 다음과 같다
# one docker container exec -ti one /bin/bash apt-get update # ping 설치 apt-get install inetutils-ping # Do you want to continue? [Y/n] "y" exit
# two docker container exec -ti two /bin/bash apt-get update # ping 설치 apt-get install inetutils-ping # Do you want to continue? [Y/n] "y" exit
- 📢
컨테이너 간 네트워킹
: 명령어는 다음과 같다# docker exec one ping two docker exec one ping two
- Docker 네트워크 사이트 참고 링크 : https://www.daleseo.com/docker-networks/
⛳ 이미지 간에 통신을 하여 무언가를 주고 받음
이 부분에 대해서 더 고민해봐야겠다...