본문 바로가기
DevOps/Docker

[Docker] : 도커 파이썬 라이브러리

by 오주현 2022. 3. 3.
반응형

파이썬 라이브러리를 사용하기 위한 환경은 Python 2.7이다.

 

리눅스를 설치하면 기본적으로 파이썬이 설치되어 있어서 도커 엔진을 리눅스 환경에서 사용하고 있으면 따로 설치가 필요 없다.

 

도커 홈페이지에서 docker-py로 파이썬 라이브러리를 확인할 수 있다.

 

apt-get install python-pip -y

우분투에서 pip 설치

 

yum install epel-release -y
yum install python-pip -y

CentOS에서 pip 설치

 

pip install docker

pip로 도커 라이브러리를 설치한다.

 

라이브러리 설치를 확인하기 위해 파이썬 셸을 실행해 도커 클라이언트를 실행한다.

 

python

import docker

client=docker.DockerClient(base_url='unix://var/run/docker.sock')

client.info()

base_url에 http://192.168.0.100:2375와 같이 도커 데몬에 접근할 수 있는 IP 주소와 포트 번호를 입력한다.

 

vi tls_docker_connect.py

import docker
tls_config=docker.tls.TLSConfig(
	client_cert=('/root/.docker/cert.pem', '/root/.docker/key.pem')
)
client = docker.DockerClient(base_url='unix://var/run/docker.sock', tls=tls_config)
print(client.info());
python tls_docker_connect.py

HTTPS를 사용하도록 TLS 보안이 적용 된 도커 데몬에 연결하려면 TLSConfig 객체를 생성해 사용해야 한다.

 

도커 클라이언트 객체를 생성했다면 이를 통해 도커 엔진을 제어할 수 있다.

 

vi run_nginx_container.py

import docker

client = docker.DockerClient(base_url='unix://var/run/docker.sock')
container = client.containers.run('nginx',
															detach=True,
															ports={'80/tcp':80})
print("Created container is : {}, {}".format(container.name, container.id))
python run_nginx_container.py

호스트의 80/tcp 포트를 컨테이너의 80번 포트에 연결하는 Nginx 컨테이너를 Detach 상태로 생성하고 시작한다.

위 내용은 docker run -d -p 80:80 nginx 와 동일한 셈이다.

 

 


📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다.

반응형

댓글