데이터센터프로그래밍16(2)

서유리·2022년 5월 9일
0
post-thumbnail

16-kubernetes Overview

🟡 과제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 compose로도 Docker 네트워크가 되지만, 나중에 배울 쿠버네티스를 위해 Docker 네트워크를 사용해 볼 것이다
profile
best of best

0개의 댓글

관련 채용 정보