데브옵스(DevOps)를 위한 쿠버네티스 마스터/왕초보도 따라하는 도커 기초

직접 도커 이미지 빌드하기

webmaster 2022. 5. 31. 13:14
728x90

1. 도커 빌드할 프로그램 준비

python를 사용해 단순한 서비스를 시작 작성한다. 다음 파일을 작성하여 test_server.py로 저장한다.

# test_server.py
import socket

with socket.socket() as s:
  s.bind(("0.0.0.0", 12345))
  s.listen()
  print("server is started")
  conn, addr = s.accept()
  # conn 클라이언트와 통신할 소켓
  # addr 클라이언트의 정보가 들어있음
  with conn:
    print("Connected by", addr)
    while True:
      data = conn.recv(1024)
      if not data: break
      conn.sendall(data)

Python  에코 서버 실행

python3 test_server.py

---

nc 127.0.0.1 12345

2. 도커 파일 생성

별도의 디렉터리를 생성하고 dockfile과 위에서 생성한 python파일을 새 디렉터리에 배치한다.

mkdir my_first_project
mv test_server.py ./my_first_project/
cd my_first_project/
gedit dockerfile

dockerfile

FROM python:3.7

RUN mkdir /echo #이미지를 만들때 실행되는 명령
COPY test_server.py /echo

CMD ["python", "/echo/test_server.py"] #컨테이너가 실행될때 전달되는 명령어

빌드 후 테스트

ls 
dockerfile test_server.py

sudo docker build -t ehco_test .
sudo docker images
sudo docker run -t -p 12345:12345 --name et --rm echo_test
nc 127.0.0.1 12345
728x90