(Docker) 9. 이미지 빌드
들어가면서...
RUM 명령어 VS CMD 명령어
- RUN 명령어는 이미지를 빌드할때 실행되는 명령어
- CMD 명령어는 컨테이너가 시작될때 실행되는 명령어
1. 도커 빌드 프로그램 준비
- python을 사용해 단순한 서비스를 시작 작성한다.
- 파일을 작성하여 test_server.py로 저장한다.
`# 1. 파이썬 파일 만들기 test_server.py `
gedit 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)
`# 2. 파이썬 파일 실행하기 test_server.py `
python3 test_server.py
`# 3. 서버가 잘 구동되는지 확인!!!
- 명령어 새탭을 열어준다.
- 아무글자나 쓰고 request, response를 확인해본다.
`
nc 127.0.0.1 12345
2. 도커 파일 생성
- 별도의 디렉토리를 생성하고 dockfile과 위에서 생성한 python파일을 새 디렉토리에 배치한다.
`1. 새로운 디렉토리에 서버파일을 옴긴다`
mkdir my_first_project
mv test_server.py ./my_first_project/
`2. 해당 경로가 들어가 dockerfile을 생성`
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"] # 실행가능하게 파일 등록
`3. 빌드 하기 `
ls
sudo docker build -t ehco_test .
# .은 현재 디렉터리이다. dockerfile이 무조건 있어야한다.
`4. 구동 테스트 해보기`
sudo docker images
sudo docker run -t -p 12345:12345 --name et --rm echo_test
댓글남기기