찾다
운영 및 유지보수Dockerdocker의 장착 방법은 무엇입니까?

방법: 1. 실행 명령을 사용합니다. 구문은 "docker run --name test1 -it -v"입니다. 2. dockerfile의 VOLUME 명령을 사용하여 마운트 지점을 생성합니다. 구문은 "VOLUME ["/data1입니다. ","/data2 "]" 3. 컨테이너 공유 볼륨을 사용합니다.

docker의 장착 방법은 무엇입니까?

이 튜토리얼의 운영 환경: linux7.3 시스템, docker-1.13.1 버전, Dell G3 컴퓨터.

docker의 마운트 방법은 무엇입니까

VOLUME 명령을 소개하기 전에 다음 시나리오 요구 사항을 살펴보겠습니다.

1 컨테이너는 이미지를 기반으로 생성되며 최종 컨테이너 파일 시스템에는 읽기- 이미지 레이어 + 가능 쓰기 레이어에서는 컨테이너의 프로세스 작업에 대한 데이터 지속성이 컨테이너의 쓰기 가능한 레이어에 저장됩니다. 컨테이너가 삭제되면 수동으로 백업하거나 컨테이너를 기반으로 새 이미지를 생성하지 않는 한 데이터는 사라집니다. 컨테이너 프로세스에서 유지되는 데이터를 호스트에 저장할 수 있나요? 이런 방식으로 컨테이너가 삭제되더라도 데이터는 그대로 유지됩니다.

2. 웹 애플리케이션을 개발할 때 개발 환경은 호스트에 로컬이지만 실행 중인 테스트 환경은 도커 컨테이너에 배치됩니다.

이 경우 호스트에서 파일(예: html, js 등)을 수정한 후 해당 파일을 컨테이너에 동기화해야 합니다. 이것은 분명히 더 문제가 됩니다.

3. 여러 컨테이너가 일련의 관련 서비스를 실행하고 싶다면 어떻게 해야 할까요?

물론 우리는 이러한 문제에 대한 다양한 해결책을 생각할 수 있습니다. Docker 자체는 호스트의 디렉터리를 컨테이너의 디렉터리(마운트 지점 또는 볼륨이라고 함)와 연결할 수 있는 메커니즘을 제공합니다. 컨테이너의 탑재 지점 아래에 있는 콘텐츠는 호스트와 유사합니다. Linux 시스템의 마운트 메커니즘. 이 경우 호스트의 디렉터리 내용을 수정하면 컨테이너를 동기화할 필요가 없으며 컨테이너에 즉시 적용됩니다. 탑재 지점은 여러 컨테이너에서 공유될 수 있습니다.

구체적인 구현 메커니즘을 소개하겠습니다.

먼저 docker run 명령을 전달합니다

1. 다음 명령을 실행합니다: docker run --name test -v /home/xqh/myimage:/data ubuntu /bin/bash

-v 플래그는 컨테이너 마운트 지점 /data(컨테이너의 디렉터리), 호스트의 /home/xqh/myimage 디렉터리 내용을 /data에 연결합니다.

이러한 방식으로 컨테이너의 /data 디렉터리에 대한 작업과 호스트의 /home/xqh/myimage에 대한 작업은 실시간으로 완전히 동기화됩니다. 왜냐하면 이 두 디렉터리가 실제로 호스트 디렉터리를 가리키기 때문입니다.

2. docker run --name test1 -it -v /data ubuntu /bin/bash 명령을 실행합니다.

위의 -v 플래그는 컨테이너의 마운트 지점만 설정하고 연결된 호스트 디렉터리를 지정하지 않습니다. 이때 docker는 자동으로 호스트의 디렉터리를 바인딩합니다. docker Inspection 명령을 통해 확인할 수 있습니다.

xqh@ubuntu:~/myimage$ docker inspect test1
[
{
    "Id": "1fd6c2c4bc545163d8c5c5b02d60052ea41900a781a82c20a8f02059cb82c30c",
.............................
    "Mounts": [
        {
            "Name": "0ab0aaf0d6ef391cb68b72bd8c43216a8f8ae9205f0ae941ef16ebe32dc9fc01",
            "Source": "/var/lib/docker/volumes/0ab0aaf0d6ef391cb68b72bd8c43216a8f8ae9205f0ae941ef16ebe32dc9fc01/_data",
            "Destination": "/data",
            "Driver": "local",
            "Mode": "",
            "RW": true
        }
    ],

위 마운트 아래의 각 정보는 컨테이너의 마운트 지점 정보를 기록합니다. "Destination" 값은 컨테이너의 마운트 지점이고 "Source" 값은 해당 호스트 디렉터리입니다. 이 방법에 해당하는 호스트 디렉터리가 자동으로 생성되는 것을 볼 수 있는데, 그 목적은 호스트에서 수정하는 것이 아니라 여러 컨테이너와 공유하는 것이다.

2 dockerfile을 통해 마운트 지점 생성

위에서 설명한 docker run 명령의 -v 플래그를 통해 생성된 마운트 지점은 생성된 컨테이너에만 유효할 수 있습니다. dockerfile의 VOLUME 지시문을 통해 이미지에 탑재 지점을 만들 수 있으므로 이미지를 통해 생성된 모든 컨테이너에는 탑재 지점이 있습니다. 또 다른 차이점은 VOLUME 명령을 통해 생성된 마운트 포인트는 호스트의 해당 디렉터리를 지정할 수 없으며 자동으로 생성된다는 점이다.

#test
FROM ubuntu
MAINTAINER hello1
VOLUME ["/data1","/data2"]

위의 Dockfile은 VOLUME 명령을 통해 두 개의 마운트 지점 /data1 및 /data2를 지정합니다.

dockerspect를 사용하여 이 dockerfile에서 생성된 이미지로 생성된 컨테이너를 볼 수 있으며 다음 정보를 볼 수 있습니다

"Mounts": [
    {
        "Name": "d411f6b8f17f4418629d4e5a1ab69679dee369b39e13bb68bed77aa4a0d12d21",
        "Source": "/var/lib/docker/volumes/d411f6b8f17f4418629d4e5a1ab69679dee369b39e13bb68bed77aa4a0d12d21/_data",
        "Destination": "/data1",
        "Driver": "local",
        "Mode": "",
        "RW": true
    },
    {
        "Name": "6d3badcf47c4ac5955deda6f6ae56f4aaf1037a871275f46220c14ebd762fc36",
        "Source": "/var/lib/docker/volumes/6d3badcf47c4ac5955deda6f6ae56f4aaf1037a871275f46220c14ebd762fc36/_data",
        "Destination": "/data2",
        "Driver": "local",
        "Mode": "",
        "RW": true
    }
],

예 두 마운트 지점에 대한 정보를 확인하세요.

3개의 컨테이너 공유 볼륨(마운트 지점)

다음으로 /data1 및 /data2 볼륨을 test1(이미 생성된 컨테이너)과 공유할 수 있는 다른 컨테이너를 만듭니다. 이는 docker에서 --volumes-from 플래그를 사용하여 수행됩니다. run. 및 /data2 및 디렉터리 콘텐츠가 공유됩니다. 컨테이너가 콘텐츠를 수정하면 다른 컨테이너가 해당 콘텐츠를 얻을 수 있습니다.

네 가지 모범 사례: 데이터 컨테이너

여러 컨테이너가 데이터(예: 영구 데이터베이스, 구성 파일 또는 데이터 파일 등)를 공유해야 하는 경우 1개 이상의 볼륨이 있는 특정 데이터 컨테이너 생성을 고려할 수 있습니다.

다른 컨테이너는 –volumes-from을 통해 이 데이터 컨테이너의 볼륨을 공유합니다.

컨테이너의 볼륨은 기본적으로 호스트의 디렉터리에 해당하므로 이 데이터 컨테이너를 시작할 필요가 없습니다.

예: docker run --name dbdata myimage echo "data Container"

설명: 볼륨이 있고 컨테이너 간 데이터 공유가 더 편리하지만 권한 제어 등 해결해야 할 문제도 많습니다. , 데이터 백업, 볼륨 삭제 등 해당 내용은 후속 글에서 소개하겠습니다.

추천 학습: "

docker 비디오 튜토리얼

"

위 내용은 docker의 장착 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Linux에서 Docker 실행 : 설치 및 구성Linux에서 Docker 실행 : 설치 및 구성Apr 26, 2025 am 12:12 AM

Linux에 Docker를 설치하고 구성하려면 시스템이 64 비트 및 커널 버전 3.10 이상인지 확인해야합니다. "sudoapt-getupdate"명령을 사용하여 "sudoapt-getupdate"명령으로 설치하고 "sudoapt-getupdate"및 "sudoapt-getupdate"및로 확인하십시오. Docker는 Linux 커널의 네임 스페이스 및 제어 그룹을 사용하여 컨테이너 격리 및 리소스 제한을 달성합니다. 이미지는 읽기 전용 템플릿이며 컨테이너를 수정할 수 있습니다. 사용의 예로는 nginx 서버를 실행하고 사용자 정의 dockerfiles로 이미지 생성이 포함됩니다. 흔한

Docker를 사용하는 이유는 무엇입니까? 혜택과 장점이 설명되었습니다Docker를 사용하는 이유는 무엇입니까? 혜택과 장점이 설명되었습니다Apr 25, 2025 am 12:05 AM

Docker를 사용하는 이유는 응용 프로그램을 패키지, 배포 및 실행할 수있는 효율적이고 휴대용이며 일관된 환경을 제공하기 때문입니다. 1) Docker는 개발자가 애플리케이션과 의존성을 경량의 휴대용 컨테이너로 패키지 할 수있는 컨테이너화 된 플랫폼입니다. 2) 빠른 시작과 효율적인 작동을 보장하기 위해 Linux 컨테이너 기술 및 공동 파일 시스템을 기반으로합니다. 3) Docker는 다단장 구성을 지원하고 이미지 크기 및 배포 속도를 최적화합니다. 4) Docker를 사용하면 개발 및 배포 프로세스를 단순화하고 효율성을 향상 시키며 환경 간 일관성을 보장 할 수 있습니다.

Docker in Action : 실제 예제 및 사용 사례Docker in Action : 실제 예제 및 사용 사례Apr 24, 2025 am 12:10 AM

실제 프로젝트에서 Docker의 애플리케이션 시나리오에는 배포 단순화, 멀티 컨테이너 응용 프로그램 관리 및 성능 최적화가 포함됩니다. 1. Docker는 DockerFile을 사용하여 Node.js 응용 프로그램을 배포하는 것과 같은 응용 프로그램 배포를 단순화합니다. 2. DockerCompose는 마이크로 서비스 아키텍처에서 웹 및 데이터베이스 서비스와 같은 멀티 컨테이너 응용 프로그램을 관리합니다. 3. 성능 최적화는 다단계 구성을 사용하여 이미지 크기를 줄이고 건강 검진을 통해 컨테이너 상태를 모니터링합니다.

Docker vs. Kubernetes : 사용 사례 및 시나리오Docker vs. Kubernetes : 사용 사례 및 시나리오Apr 23, 2025 am 12:11 AM

소규모 프로젝트 또는 개발 환경에서 Docker를 선택하고 대규모 프로젝트 또는 생산 환경에서 Kubernetes를 선택하십시오. 1. Docker는 빠른 반복 및 테스트에 적합합니다. 2. Kubernetes는 강력한 컨테이너 오케스트레이션 기능을 제공하여 대규모 응용 프로그램을 관리하고 확장하는 데 적합합니다.

Linux의 Docker : Linux 시스템 용 컨테이너화Linux의 Docker : Linux 시스템 용 컨테이너화Apr 22, 2025 am 12:03 AM

Linux는 풍부한 도구와 커뮤니티 지원을 제공하는 기본 플랫폼이기 때문에 Docker는 Linux에서 중요합니다. 1. Docker 설치 : Sudoapt-Getupdate 및 Sudoapt-GetInstalldocker-Cedocker-Ce-clicotainerd.io를 사용하십시오. 2. 컨테이너 생성 및 관리 : Dockerrun-D-Namemynginx-P80 : 80nginx와 같은 Dockerrun 명령을 사용하십시오. 3. Dockerfile 쓰기 : 이미지 크기를 최적화하고 다단계 구성을 사용하십시오. 4. 최적화 및 디버깅 : DockerLogs 및 Dockerex를 사용하십시오

Docker : 컨테이너화 도구, Kubernetes : 오케스트레이터Docker : 컨테이너화 도구, Kubernetes : 오케스트레이터Apr 21, 2025 am 12:01 AM

Docker는 컨테이너화 도구이며 Kubernetes는 컨테이너 오케스트레이션 도구입니다. 1. Docker는 응용 프로그램과 그 종속성을 Docker 지원 환경에서 실행할 수있는 컨테이너로 패키지합니다. 2. Kubernetes는 이러한 컨테이너를 관리하고 자동 배포, 스케일링 및 관리를 구현하고 응용 프로그램을 효율적으로 실행합니다.

Docker의 목적 : 응용 프로그램 배포를 단순화합니다Docker의 목적 : 응용 프로그램 배포를 단순화합니다Apr 20, 2025 am 12:09 AM

Docker의 목적은 애플리케이션 배포를 단순화하고 컨테이너화 기술을 통해 다른 환경에서 응용 프로그램이 지속적으로 실행되도록하는 것입니다. 1) Docker는 응용 프로그램 및 컨테이너로 의존성을 포장하여 환경 차이 문제를 해결합니다. 2) DockerFile을 사용하여 이미지를 작성하여 응용 프로그램이 어디서나 일관되게 실행되도록하십시오. 3) Docker의 작업 원칙은 이미지와 컨테이너를 기반으로하며 Linux 커널의 네임 스페이스 및 제어 그룹을 사용하여 격리 및 자원 관리를 달성합니다. 4) 기본 사용에는 DockerHub에서 이미지를 당기고 실행하는 것이 포함되며, 고급 사용법에는 DockerCompose를 사용하는 다중 컨테이너 응용 프로그램을 관리하는 것이 포함됩니다. 5) 이미지 빌딩 실패 및 컨테이너 실패와 같은 일반적인 오류가 시작되지 않으면 로그 및 네트워크 구성을 통해 디버깅 할 수 있습니다. 6) 성능 최적화 구성

Linux 및 Docker : 다른 Linux 배포판의 DockerLinux 및 Docker : 다른 Linux 배포판의 DockerApr 19, 2025 am 12:10 AM

Ubuntu, Centos 및 Debian에 Docker를 설치하고 사용하는 방법은 다릅니다. 1) Ubuntu : APT 패키지 관리자를 사용하여 명령은 sudoapt-getupdate && sudoapt-getinstalldocker.io입니다. 2) Centos : Yum 패키지 관리자를 사용하면 Docker 저장소를 추가해야합니다. 이 명령은 SudoyuminStall-Yyum-utils && sudoyum-config-manager--add-repohttps : //download.docker.com/lin입니다

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기