Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

JINIers

Docker images build 본문

공부/Docker&K8S

Docker images build

JINIers 2023. 2. 10. 16:19

도커로 빌드할 이미지 작성(testserver.py)

# testserver.py
import socket

with socket.socket() as s:
    s.bind(("0.0.0.0", 12345))			# 12345 포트 open
    s.listen()
    print("servier is startd")
    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)

 

 testserver.py 실행

python3 testserver.py

다른 탭을 열어 연결한다.

nc 127.0.0.1 12345

그럼 기존 탭에 연결이 됐다고 뜸

이렇게

 

다른 탭 터미널에 테스트로 이것저것 써보기

 

ctrl+C로 빠져나오면 연결이 종료된다.

이렇게 연결 종료


디렉토리 생성

mkdir project

 

파일(test_server.py) 이동

mv test_server.py mv project/

 

dockerfile 생성

FROM python:3.7

RUN mkdir /echo
COPY test_server.py /echo

CMD ["python","/echo/test_server.py"]

RUN & CMD 차이점

run: 컨테이너를 만들 때(이미지를 빌드할 때) 실행됨

cmd: 컨테이너가 실행될 때 실행되는 명령어

* 둘의 시작시점이 다름 run → cmd

 

파일 실행

docker build -t echo_test .

설치중

 

설치 완료

step 2/4: 디렉토리 생성

step 3/4: test_server.py 파일 복사

step 4/4: cmd에 명령어 등록

 

 

이미지 빌드 확인

docker images

 

 

컨테이너 빌드

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

 

 

터미널 새탭을 띄워 서버에 연결

nc 127.0.0.1 12345

연결을 하면 기존 탭에서 연결이 된 것을 확인할 수 있다.

 

'공부 > Docker&K8S' 카테고리의 다른 글

private registry 구현 및 사용  (0) 2023.02.13
docker images push  (0) 2023.02.13
환경변수 이용 mysql 구축하기  (0) 2023.02.10
도커 컨테이너 실행  (0) 2023.02.10
도커 명령어  (0) 2023.02.09
Comments