Home Docker(4)
Post
Cancel

Docker(4)

Docker(3)


간단한 파이썬 파일 이미지화 시키기

  • 사용자의 입력을 받고 상호 작용하는 프로그램 이미지화 시키기
    • 테스트를 위한 간단한 파이썬 프로그램 작성, 사용자의 입력을 받아 최소~최대 범위에서 랜덤한 숫자를 뽑아주는 프로그램
  • Python 코드
1
2
3
4
5
6
7
8
9
10
11
from random import randint

_min = int(input('최소값을 입력 하세요 : '))
_max = int(input('최대값을 입력 하세요 : '))

if (_max < _min):
  print('최대값은 최소값보다 작은 수 없습니다.')
else:
  _random = randint(_min, _max)
  print(_random)

  • Dockerfile 코드
    • python 이미지를 가져오고 간단한 설정이후 rng.py를 실행하게 구성후 docker build . 으로 이미지 빌드
1
2
3
4
FROM python
WORKDIR /app
COPY . /app
CMD ["python","rng.py"]
1
<none>       <none>    39544f4abf90   26 seconds ago   1.02GB


docker run images_name, attached 모드로 실행

  • 실행 결과

python_run_no_it

  • 사용자와 상호 작용을 할 수 있게 설정해주는 부분이 없어서 해당 에러 발생 사용자의 입력을 받게 하려면 -i,-t 명령어를 docker run 할때 붙여줘야한다.

python_run_add_it


docker start detached 모드로 실행

  • 그렇다면 docker start를 이용해서 컨테이너를 실행시킬때에는 어떤식으로 동작하게 될까

container_no_i

  • detached모드로 실행되면서 상호작요을 할 수 없게 실행됨, docker attach [container_name]로 접속 해보면 프로세스의 일부분이 생략된체 상호작용을 할수 있게 동작
    • 최소값을 입력 하세요 : 문구 출력 부분이 사라져있음. 근본적인 해결책이 아님

docker_attach

  • 이런식으로 상호작용을 할때에는 docker start [container_name] 으로 실행할때 start 뒤에 -i 명령어를 붙여주면됨docker start -t [container_name]

«««< HEAD

  • 이런식으로 상호작용을 할때에는 docker start [container_name] 으로 실행할때 start 뒤에 -i 명령어를 붙여주면됨docker start -t [container_name]

docker_start_i

This post is licensed under CC BY 4.0 by the author.