도커와 파이썬을 연결해보는 실습을 하였다.
그동안 노드로만 하다가 파이썬을 보니 매일 중국어 듣다가 한국어 들은 것처럼 매우 기뻤다...ㅎ
from random import randint
min_ = int(input('please enter min '))
max_ = int(input('please enter max '))
if (max_ < min_):
print('Invalind input - shuttind down')
else:
rnd_num = randint(min_, max_)
print(rnd_num)
이제 파이썬을 도커화해보자.
FROM python
WORKDIR /app
COPY . /app
CMD ["python", "rng.py"]
도커 터미널에서 이미지 빌드하고 컨테이너를 실행시킨다. 빌드할 때 처음 하느거라 시간이 조금 소요될 수 있다.
컨테이너로 실행할 때 EOFError와 마주하게 된다.
터미널에 입출력 동작을 하려면 몇가지 명령어를 추가해줘야 한다.
Attached 모드가 아니여도 표준입출력을 받을 수 있는 interactive의 i와 새로운 터미널을 만들어줄 tty의 t를 결합하면 된다.
docker run -it [컨테이너 ID]
이제 input 값을 받을 수 있다.
종료 후 다시 입력받으려면 일반적으로 했던것처럼 start 만으로는 안된다. start는 Detached 모드가 디폴트이기에 터미널이 끊겨버린다. build -a [컨테이너 ID] 를 사용한다 하여도 min 값밖에 받지 못하는 오류가 발생한다.
방법은!!
docker start -a -i [컨테이너 ID]
a는 Attached 모드의 그 a이다.
'DevOps > 도커' 카테고리의 다른 글
[도커] 이미지 검사 (0) | 2022.08.17 |
---|---|
[도커] 이미지 & 컨테이너 삭제 (0) | 2022.08.12 |
[도커] Attached 모드 & Detached 모드 (0) | 2022.08.12 |
[도커] 이미지와 컨테이너 (0) | 2022.08.12 |
[도커] 도커 첫 발걸음 (0) | 2022.08.12 |