앎을 경계하기

Anything

[Docker] 도커 초보 탈출하기 part 3 - 도커 이미지 빌드, 푸시 그리고 히스토리 확인하기

양갱맨 2021. 4. 27. 11:55

도커 빌드

python을 사용해 도커를 빌드할 프로그램을 준비한다.

import socket  with socket.socket() as s: 	s.bind(("0.0.0.0", 12345)) 	s.listen() 	print("server is started") 	conn, addr = s.accept()  	with conn: 		print("Connected by", addr) 		while True: 			data = conn.recv(1024) 			if not data: break 			conn.sendall(data)

파이썬 코드를 빌드하고 터미널에서 접속해보자

nc 127.0.0.1 12345

도커파일 생성

별도의 디렉토리 생성해서 dockerfile과 위에서 생성한 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 echo_test . sudo docker images sudo docker run -d -p 12345:12345 --name echo_test echo_test

다시 접속해주면 아까 파이썬 코드 돌려서 사용했던 것과 같이 사용 가능해진다.

nc 127.0.0.1 12345

도커 이미지 푸시와 히스토리 확인

docker login docker tag [이미지 이름] [내 id]/[이미지 이름]  # 태그변경 필수 docker images docker push [내 id]/[이미지 이름]

위 명령을 통해 이미지 푸시를 할 수 있다.

docker hub에서 확인할 수 있다.

이미지, 컨테이너 모두 지우고 새롭게 run 명령을 해보자

docker run -t -p 12345:12345 --name et --rm didwuddk/echo_test

히스토리 확인하기

이미지를 빌드할 때 어떻게 구성되었는지 궁금할 때 사용한다.

docker history 이미지이름

 

출처 : www.youtube.com/watch?v=ePpiEy_C_jk