[파이썬] 도커 컨테이너와 호스트 간 데이터 볼륨 설정
데이터 볼륨 연결
도커 컨테이너와 호스트 간의 데이터 볼륨 공유는 docker
패키지에서 volumes
옵션을 통해 설정할 수 있습니다. 다음은 간단한 예제 코드입니다.
import docker
client = docker.from_env()
volumes = {
'/path/to/host/directory': {
'bind': '/path/to/container/directory',
'mode': 'rw'
}
}
container = client.containers.run(
'image_name',
volumes=volumes,
detach=True
)
위의 예제에서, /path/to/host/directory
는 호스트 시스템의 디렉토리 경로를 나타내며, /path/to/container/directory
는 도커 컨테이너 내의 디렉토리 경로를 나타냅니다. 볼륨 연결은 volumes
변수에 딕셔너리 형태로 정의되며, bind
키는 호스트와 컨테이너 간의 경로를 설정하고, mode
키는 해당 경로의 읽기/쓰기 권한을 설정합니다.
데이터 볼륨 공유 확인
볼륨이 제대로 설정되었는지 확인하기 위해 컨테이너 내부에서 파일을 작성하고 호스트 시스템에서 이를 확인해보겠습니다.
import docker
client = docker.from_env()
container = client.containers.get('container_id')
container.exec_run('echo "Hello, Docker!" > /path/to/container/directory/test.txt')
with open('/path/to/host/directory/test.txt', 'r') as f:
print(f.read())
위의 예제는 exec_run
메서드를 사용하여 컨테이너 내부에서 명령을 실행하고, 호스트 시스템에서 해당 파일을 읽어오는 코드입니다. 만약 파일을 정상적으로 읽어온다면, 데이터 볼륨이 제대로 설정되었다는 것을 알 수 있습니다.
도커 컨테이너와 호스트 간 데이터 볼륨 설정은 애플리케이션의 데이터 공유와 관리를 훨씬 효율적으로 할 수 있도록 도와줍니다. docker
패키지를 활용하여 데이터 볼륨을 설정하고, 필요한 작업을 수행해보세요. 도커 컨테이너를 효율적으로 관리할 수 있는 기능들을 활용하면, 애플리케이션의 배포와 실행을 원활하게 진행할 수 있습니다.