월루를 꿈꾸는 대학생

Docker build 방법 본문

Server&Network/Kubernets_Dokcer

Docker build 방법

하즈시 2020. 12. 12. 18:59
728x90
# test.py

import socket    
# 소켓 라이브러리 블러옴

with socket.socket() as s:
	s.bind(("0.0.0.0",12345))             # 12345포트 열도록 
    s.listen()
    print("server is started")
    
    conn, addr = s.accept()  
    # conn 클라이언트와 통신할 소켓
    # addr 클라이언트 정보가 들어있음
    
    # 서버는 클라이언트와 접속을 하게 되면 누구에 의해서 접속되었는지 addr에 저장 
    with conn:
    	print("Connected by", addr)
        while Ture:
        	#1024를 받아서 data 저장하고 data에 있는 것을 클라이언트에 다시 돌려줌 recv한 것을 send all 한다
        	data = conn.recv(1024)
            if not data: break
            conn.sendall(data)
            
            

 

 

nc 127.0.0.1 12345

소켓 통신 되는지 포트 접속해서 데이터 접속 

 

 

import socket



with socket.socket() as s:

	s.bind(("0.0.0.0",12345))             # 12345포트 열도록 

	s.listen()

	print("server is started")



	conn, addr = s.accept()  

    # conn 클라이언트와 통신할 소켓

    # addr 클라이언트 정보가 들어있음

    

    # 서버는 클라이언트와 접속을 하게 되면 누구에 의해서 접속되었는지 addr에 저장 

	with conn:

		print("Connected by", addr)

		while True:

			data = conn.recv(1024)

			if not data: break

			conn.sendall(data)

만들어둔 PY 파일 실행

 

 

새탭 열어서 접속 시도 

 

상대방이 42042 포트로 접속해옴 

 

해당 PY 파일은 서버에서 받은 데이터를 그대로 다시 보내준다 

 

 

먼저 이렇게 테스트를 해본다 ! ! ! 


 

도커 파일 생성 

 

mkdir project # 별도의 디렉토리 필요

mv test.py ./project/ # test.py파일을 project 폴더로 이동

cd project/

gedit dockerfile #도커 파일 작성 

 

 

dockerfile 

 

FROM python:3.7              # 이미지 명과 버전 

RUN mkdir /echo              # 디렉토리를 만든다 이름 echo  
COPY test.py /echo           # test.py 를 echo 폴더에 복사 

CMD ["python", "/echo/test.py"]  # cmd 커멘드.. 실행하는 명령어

# RUN과 CMD 차이 RUN은 이미지 만들 떄 실행 CMD 는 컨테이너가 실행될 때 명령어 실행시점이 다름 
# RUN은 이미지 빌드할 떄 만들때 CMD는 컨테이너 시작할 때 실행되는 명령어 

# 만들어지는 이미지는 파이썬이고 이 컨테이너의 목적은 파이썬을 설치하고 해당 폴더 안에 있는 파이썬 명령어를 실행하는 것이 주 목적 

 

해당 TEST 폴더 안에 dockerfile과 해당 py파일 2개만 있도록 

해당 폴더 안에 다른 파일들이 있으면 이미지 빌드할 때 쓸 때 없이 무거워 진다 

 


docker build -t echo_Test .

docker build -t echo_Test .
# 도커 빌드 하고 . 은 현재 디렉토리 .은 빼먹으면 실행 x 현재 디렉토리 도커 파일 읽어서 빌드해라 

 

디렉토리 만들었고 

copy도 실행 

cmd 는 실행은 안 되었고 등록까지만 

 

 

방금 빌드한 echo_test라는 이미지 파일을 확인 

 

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

도커 컨테이너 실행

 

 

 

 

말 그대로 echo test 

컨테이너가 실행시에 등록된 cmd 가 작동 python 파일 그대로 받은 거 돌려주는 프로그램 실행 되고 새 탭에서 nc 로 접속한 것 ip 찍어주고 클라이언트의 문자열을 그대로 돌려주는 프로그램 구동 

728x90

'Server&Network > Kubernets_Dokcer' 카테고리의 다른 글

쿠버네티스 참고 영상  (0) 2021.01.15
GCP 회원가입  (0) 2021.01.08
CKA 자격증 관련  (0) 2020.12.18
Docker Wordpress  (0) 2020.12.16
도커 연습  (0) 2020.12.09