[파이썬] 도커 컨테이너 실행 옵션과 커맨드 라인 인자

도커는 가상화 기술을 이용하여 애플리케이션을 격리된 환경에서 실행할 수 있게 해주는 플랫폼입니다. 도커 컨테이너를 실행할 때는 여러 옵션과 커맨드 라인 인자를 사용하여 컨테이너의 동작을 조정할 수 있습니다. 이번 글에서는 도커 컨테이너의 실행 옵션과 커맨드 라인 인자를 파이썬 코드를 통해 사용하는 방법에 대해 알아보겠습니다.

실행 옵션

도커 컨테이너를 실행할 때는 다양한 실행 옵션을 지정할 수 있습니다. 실행 옵션은 docker run 명령어를 사용하여 컨테이너를 생성하고 시작할 때 지정합니다.

아래는 몇 가지 자주 사용되는 실행 옵션의 예시입니다.

파이썬에서 실행 옵션을 지정하기 위해서는 docker 모듈을 사용합니다. 아래는 실행 옵션을 사용하여 도커 컨테이너를 실행하는 예시 코드입니다.

import docker

client = docker.from_env()

container = client.containers.run(
    'nginx', 
    detach=True, 
    name='my-nginx',
    ports={'80/tcp': 8080},
    environment={'ENV_VAR': 'value'}
)

print(container.id)

위의 예시 코드에서 client.containers.run() 메서드의 인자로 실행 옵션을 전달합니다. 여기서는 detach=True로 컨테이너를 백그라운드에서 실행하도록 설정하였으며, name='my-nginx'를 사용하여 컨테이너에 이름을 지정하였습니다. 또한, ports={'80/tcp': 8080}environment={'ENV_VAR': 'value'}로 포트 번호와 환경 변수를 설정하였습니다.

커맨드 라인 인자

도커 컨테이너를 실행할 때 커맨드 라인 인자를 사용하여 컨테이너 내부에서 실행할 명령어를 지정할 수 있습니다. 이는 컨테이너가 시작될 때 실행되는 기본 명령어를 오버라이드하고자 할 때 유용합니다.

예를 들어, docker run 명령어를 사용하여 ubuntu 이미지의 컨테이너를 실행할 때 ls 명령어를 실행하고 싶다면 아래와 같이 커맨드 라인 인자를 사용할 수 있습니다.

docker run ubuntu ls

파이썬에서도 커맨드 라인 인자를 사용하여 도커 컨테이너를 실행할 수 있습니다. client.containers.run() 메서드의 command 인자를 사용하여 커맨드 라인 인자를 전달합니다. 아래는 파이썬 코드에서 커맨드 라인 인자를 사용하여 도커 컨테이너를 실행하는 예시입니다.

import docker

client = docker.from_env()

container = client.containers.run(
    'ubuntu', 
    command='ls'
)

print(container.logs())

위의 예시 코드에서 command='ls'로 커맨드 라인 인자를 지정하였습니다. 컨테이너가 실행되면 container.logs() 메서드를 사용하여 컨테이너의 로그를 출력합니다.

도커 컨테이너 실행 옵션과 커맨드 라인 인자는 도커의 유연성과 사용 편의성을 높여주는 중요한 기능입니다. 이러한 기능을 통해 애플리케이션 개발과 배포를 더욱 효율적으로 할 수 있습니다.