고양이 여름이의 지식채널
도커 컨테이너에서 볼륨, 네트워크 및 환경 변수 구성 및 사용 본문
도커 컨테이너는 응용프로그램을 패키징, 배포 및 관리하는 편리한 방법입니다. 그러나 응용프로그램에서 데이터베이스 또는 파일 시스템과 같은 외부 리소스에 대한 액세스가 필요한 경우도 있습니다. 이 경우 볼륨, 네트워크 및 환경 변형을 사용하여 컨테이너에 필요한 리소스를 제공할 수 있습니다.
볼륨 (volumes)
볼륨은 컨테이너에서 생성된 데이터를 유지하는 방법입니다. 컨테이너가 볼륨에 데이터를 쓰는 경우 컨테이너가 삭제되더라도 해당 데이터는 유지됩니다. 이 기능은 컨테이너가 재생성되더라도 컨테이너에서 생성된 데이터를 유지하려는 경우에 유용합니다.
예를 들어 /var/log 디렉토리에 로그 파일을 쓰는 컨테이너가 있다고 가정합니다. 로그 파일을 유지하려면 컨테이너의 /var/log 디렉토리를 호스트의 디렉토리에 매핑하는 볼륨을 생성할 수 있습니다. 다음은 도커 실행 명령에서 볼륨을 생성하는 방법의 예입니다
docker run -d --name my-container -v /var/log:/var/log my-image
네트워크 (networks)
네트워크는 컨테이너를 서로 연결하고 호스트에 연결하는 방법입니다. 네트워크를 사용하여 한 컨테이너의 서비스를 다른 컨테이너 또는 호스트에 표시할 수 있습니다. 예를 들어 사용자가 브라우저에서 웹 서버에 액세스할 수 있도록 네트워크를 사용하여 컨테이너에서 실행 중인 웹 서버를 호스트에 노출할 수 있습니다.
다음은 도커 실행 명령에서 네트워크를 생성하는 방법의 예입니다
docker run -d --name my-container --network my-network my-image
환경 변수 (environment variables)
환경 변수는 구성 정보를 컨테이너로 전달하는 방법입니다. 환경 변수를 사용하여 데이터베이스 주소, 수신할 포트 또는 응용프로그램 이름과 같은 구성 옵션을 지정할 수 있습니다.
예를 들어 데이터베이스 연결 문자열이 필요한 응용 프로그램이 있다고 가정해 보겠습니다. 연결 문자열을 생성할 때 환경 변수로 컨테이너에 전달할 수 있습니다. 다음은 도커 실행 명령에서 환경 변수를 전달하는 방법의 예입니다
docker run -d --name my-container -e DB_CONNECTION_STRING=mysql://user:password@localhost/db my-image
볼륨, 네트워크 및 환경 변수는 Docker 컨테이너를 구성하고 사용하는 데 유용한 도구입니다. 컨테이너에 필요한 리소스를 제공하고 구성 정보를 컨테이너에 전달할 수 있습니다. 이러한 도구를 사용하면 유연하고 휴대하기 쉬우며 관리하기 쉬운 컨테이너를 만들 수 있습니다.
도커 이미지, 컨테이너 및 도커 레지스트리 이해 (Docker)