Docker에서 볼륨을 만들고 컨테이너에 마운트하는 방법(볼륨 마운트)
Docker 두 종류의 마운트
우선 Docker에는 2종류의 마운트 방법이 있다.
① 볼륨 마운트
②바인드 마운트
①은 이번 설명하는 것으로, Docker Engine상에 새롭게 볼륨을 잘라, 그것을 컨테이너에 마운트하는 방법
<이미지>
②는 Docker를 인스톨 하고 있는 머신의 특정의 디렉토리를, 컨테이너에 마운트하는 방법(NAS같은 이미지)
볼륨 만들기
먼저 볼륨을 만들어 가자.
docker volume create testvolume01
> docker volume ls
(省略)
***
***
local testvolume01
그 밖에도 컨테이너를 작성하고 있는 만큼, 볼륨이 작성되고 있다.
볼륨 상세보기
> docker inspect volume01
[
{
"CreatedAt": "2021-08-07T09:01:56Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/testvolume01/_data",
"Name": "testvolume01",
"Options": {},
"Scope": "local"
}
]
마운트 포인트는, docker내가 되어 있다.
Apache 컨테이너를 만들면서 볼륨 마운트
docker run -d --name=httpd_volume01 -p 8080:80 --mount type=volume,src=testvolume01,dst=/usr/local/apache2/htdocs/ httpd
/usr/local/apache2/htdocs/이 폴더에는 index.html이 들어 있다.
> docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0bdd01904904 httpd "httpd-foreground" About a minute ago Up About a minute 0.0.0.0:8080->80/tcp, :::8080->80/tcp httpd_volume01
httpd_volume01이라는 컨테이너가 작성되었습니다.
브라우저에 "http://localhost:8080/'를 입력하면 'IT works!"가 표시됩니다.
미리 만든 볼륨이 마운트되었는지 확인
'httpd_volume01' 컨테이너의 세부 사항을 살펴보자.
> docker container inspect httpd_volume01
(省略)
"Mounts": [
{
"Type": "volume",
"Source": "testvolume01",
"Target": "/usr/local/apache2/htdocs/"
}
],
(省略)
Source가 작성한 「testvolume01」인 것을 알 수 있다.
컨테이너 안으로 들어가서 index.html 업데이트
docker exec -it httpd_volume01 /bin/bash
# cd /usr/local/apache2/htdocs/
# ls
index.html
<viを使えるように>
# apt-get update ←パッケージの更新
# apt-get install vim
# vi index.html
<「IT works!」を適当な文字に変更>
:wq 保存
방금 브라우저에서 "http://localhost:8080/'를 입력하면 변경된 문자열이 표시됩니다.
다른 컨테이너를 만들고 변경된 문자열이 표시되는지 확인
이것만으로는 정말로 마운트되고 있는지 모른다고 하는 분은 다른 컨테이너를 작성해 확인해 보세요.
docker run -d --rm --name=httpd_after_volume01 -p 8081:80 --mount type=volume,src=testvolume01,dst=/usr/local/apache2/htdocs/ httpd
새로운 브라우저에서 "http://localhost:8081/'라고 입력.
변경 후의 문자열이 표시되면, 무사히 볼륨내를 공유할 수 있는 것을 알 수 있다.
마지막으로
이번에는 Docker로 볼륨을 만들고 마운트를 해왔습니다.
다음 번에는 Docker의 호스트 OS 디렉토리와 마운트하는 "바인드 마운트"를 소개하고 싶습니다.
Reference
이 문제에 관하여(Docker에서 볼륨을 만들고 컨테이너에 마운트하는 방법(볼륨 마운트)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kazuh1Lo/items/f91d02d10e8430662955
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
먼저 볼륨을 만들어 가자.
docker volume create testvolume01
> docker volume ls
(省略)
***
***
local testvolume01
그 밖에도 컨테이너를 작성하고 있는 만큼, 볼륨이 작성되고 있다.
볼륨 상세보기
> docker inspect volume01
[
{
"CreatedAt": "2021-08-07T09:01:56Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/testvolume01/_data",
"Name": "testvolume01",
"Options": {},
"Scope": "local"
}
]
마운트 포인트는, docker내가 되어 있다.
Apache 컨테이너를 만들면서 볼륨 마운트
docker run -d --name=httpd_volume01 -p 8080:80 --mount type=volume,src=testvolume01,dst=/usr/local/apache2/htdocs/ httpd
/usr/local/apache2/htdocs/이 폴더에는 index.html이 들어 있다.
> docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0bdd01904904 httpd "httpd-foreground" About a minute ago Up About a minute 0.0.0.0:8080->80/tcp, :::8080->80/tcp httpd_volume01
httpd_volume01이라는 컨테이너가 작성되었습니다.
브라우저에 "http://localhost:8080/'를 입력하면 'IT works!"가 표시됩니다.
미리 만든 볼륨이 마운트되었는지 확인
'httpd_volume01' 컨테이너의 세부 사항을 살펴보자.
> docker container inspect httpd_volume01
(省略)
"Mounts": [
{
"Type": "volume",
"Source": "testvolume01",
"Target": "/usr/local/apache2/htdocs/"
}
],
(省略)
Source가 작성한 「testvolume01」인 것을 알 수 있다.
컨테이너 안으로 들어가서 index.html 업데이트
docker exec -it httpd_volume01 /bin/bash
# cd /usr/local/apache2/htdocs/
# ls
index.html
<viを使えるように>
# apt-get update ←パッケージの更新
# apt-get install vim
# vi index.html
<「IT works!」を適当な文字に変更>
:wq 保存
방금 브라우저에서 "http://localhost:8080/'를 입력하면 변경된 문자열이 표시됩니다.
다른 컨테이너를 만들고 변경된 문자열이 표시되는지 확인
이것만으로는 정말로 마운트되고 있는지 모른다고 하는 분은 다른 컨테이너를 작성해 확인해 보세요.
docker run -d --rm --name=httpd_after_volume01 -p 8081:80 --mount type=volume,src=testvolume01,dst=/usr/local/apache2/htdocs/ httpd
새로운 브라우저에서 "http://localhost:8081/'라고 입력.
변경 후의 문자열이 표시되면, 무사히 볼륨내를 공유할 수 있는 것을 알 수 있다.
마지막으로
이번에는 Docker로 볼륨을 만들고 마운트를 해왔습니다.
다음 번에는 Docker의 호스트 OS 디렉토리와 마운트하는 "바인드 마운트"를 소개하고 싶습니다.
Reference
이 문제에 관하여(Docker에서 볼륨을 만들고 컨테이너에 마운트하는 방법(볼륨 마운트)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kazuh1Lo/items/f91d02d10e8430662955
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
> docker inspect volume01
[
{
"CreatedAt": "2021-08-07T09:01:56Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/testvolume01/_data",
"Name": "testvolume01",
"Options": {},
"Scope": "local"
}
]
docker run -d --name=httpd_volume01 -p 8080:80 --mount type=volume,src=testvolume01,dst=/usr/local/apache2/htdocs/ httpd
/usr/local/apache2/htdocs/이 폴더에는 index.html이 들어 있다.
> docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0bdd01904904 httpd "httpd-foreground" About a minute ago Up About a minute 0.0.0.0:8080->80/tcp, :::8080->80/tcp httpd_volume01
httpd_volume01이라는 컨테이너가 작성되었습니다.
브라우저에 "http://localhost:8080/'를 입력하면 'IT works!"가 표시됩니다.
미리 만든 볼륨이 마운트되었는지 확인
'httpd_volume01' 컨테이너의 세부 사항을 살펴보자.
> docker container inspect httpd_volume01
(省略)
"Mounts": [
{
"Type": "volume",
"Source": "testvolume01",
"Target": "/usr/local/apache2/htdocs/"
}
],
(省略)
Source가 작성한 「testvolume01」인 것을 알 수 있다.
컨테이너 안으로 들어가서 index.html 업데이트
docker exec -it httpd_volume01 /bin/bash
# cd /usr/local/apache2/htdocs/
# ls
index.html
<viを使えるように>
# apt-get update ←パッケージの更新
# apt-get install vim
# vi index.html
<「IT works!」を適当な文字に変更>
:wq 保存
방금 브라우저에서 "http://localhost:8080/'를 입력하면 변경된 문자열이 표시됩니다.
다른 컨테이너를 만들고 변경된 문자열이 표시되는지 확인
이것만으로는 정말로 마운트되고 있는지 모른다고 하는 분은 다른 컨테이너를 작성해 확인해 보세요.
docker run -d --rm --name=httpd_after_volume01 -p 8081:80 --mount type=volume,src=testvolume01,dst=/usr/local/apache2/htdocs/ httpd
새로운 브라우저에서 "http://localhost:8081/'라고 입력.
변경 후의 문자열이 표시되면, 무사히 볼륨내를 공유할 수 있는 것을 알 수 있다.
마지막으로
이번에는 Docker로 볼륨을 만들고 마운트를 해왔습니다.
다음 번에는 Docker의 호스트 OS 디렉토리와 마운트하는 "바인드 마운트"를 소개하고 싶습니다.
Reference
이 문제에 관하여(Docker에서 볼륨을 만들고 컨테이너에 마운트하는 방법(볼륨 마운트)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kazuh1Lo/items/f91d02d10e8430662955
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Docker에서 볼륨을 만들고 컨테이너에 마운트하는 방법(볼륨 마운트)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kazuh1Lo/items/f91d02d10e8430662955텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)