728x90
반응형
# 직접 도커 이미지 빌드하기
# 파이썬 파일 생성
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)
# python3 test_server.py 명령어를 실행하여 위에서 생성한 파일을 실행한다.
python3 test_server.py
server is started 라는 메세지를 출력
# 새탭을 클릭하여 새로운 cmd 창 생성
nc 127.0.0.1 12345 로 접속하게 되면 test_server 파일을 실행한 cmd 화면에서 커넥트 정보를 출력한다. (12345는 포트번호 이다.)
nc 127.0.0.1 12345를 실행한 화면에서 아무 데이터나 입력하면 같은 데이터를 반환하는것을 볼 수 있다.
이것은 위에서 제작한 파이썬 코드가 이와같은 행위를 출력하도록 코딩 되어있기 때문이다.
컨트롤 + c 를 입력하여 서버를 종료시킬수 있다.
# 도커 파일을 생성해보자
mkdir my_first_project
mv test_server.py ./my_first_project/
cd my_first_project
ls
gedit dockerfile
- 내용 입력
FROM python:3.7
RUN mkdir /echo
COPY test_server.py /echo
CMD ["python", "/echo/test_server.py"]
# 도커를 빌드해보자 (현재 폴더에는 dockerfile, test_server.py 파일만 존재해야 한다.)
(. 은 현재 디렉토리를 의미한다.)
docker build -t echo_test .
# 빌드한 이미지 확인
docker images
echo_test 확인가능
# echo_test 실행하기
docker run -t -p 12345:12345 --name et --rm echo_test
server is started 라고 나오면 성공적으로 생성됨
# 새 터미널에서 접속
새 터미널을 띄우고
nc 127.0.0.1 12345
성공적으로 접속 되면 서버쪽 터미널에서 Connected by ('127.0.0.1', 56789) 와 같은 내용을 출력.
# client 에서 test, 1234 와 같은 데이터를 입력하면, 동일한 데이터를 화면에 출력해주는것을 확인
test
test
1234
1234
728x90
반응형
'Docker > Docker 이미지 빌드' 카테고리의 다른 글
실행중인(customed) 도커 이미지를 commit 및 실행하기 (0) | 2023.07.07 |
---|---|
Docker 빌드 명령어 (0) | 2022.03.29 |