예:
서버폴더:/var/log/docker_httpd01
컨테이너 폴더:/var/log/apache2
1.우선 docker를 정지시킵니다.
[root@localhost /]# systemctl docker stop
2.root권한이 아닐때 root로 교체후 컨테이너 폴더로 이동합니다.
컨테이너id는 docker ps 명령으로 확인 가능합니다
[root@localhost /]# su root
Password:
[root@localhost /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
71048e7e4288 wordpress:latest "docker-entrypoint..." 8 weeks ago Up 52 minutes 0.0.0.0:8000->80/tcp wordpress_wordpress_1
[root@localhost /]# cd /var/lib/docker/containers/컨테이너ID+XXXXX/
3.hostconfig.json 과 config.v2.json 파일 편집
[root@localhost /]# vim hostconfig.json
{
"Binds": [
"/var/log/apache2:/var/log/docker_httpd01"
],
"ContainerIDFile": "",
......
}
{“Binds”: 뒤에 [“/var/log/apache2:/var/log/docker_httpd01”] 추가
[root@localhost /]# vim config.v2.json
{
......
"MountPoints": {
"/var/log/apache2": {
"Source": "/var/log/docker_httpd01",
"Destination": "/var/log/apache2",
"RW": true,
"Name": "",
"Driver": "",
"Type": "bind",
"Propagation": "rprivate",
"Spec": {
"Type": "bind",
"Source": "/var/log/docker_httpd01",
"Target": "/var/log/apache2"
}
},
"/var/www/html": {
"Source": "",
"Destination": "/var/www/html",
"RW": true,
"Name": "a4b384782cc8c13fc9d400d46a09081dc3638080518eeb2bcd1cd1663c55881c",
"Driver": "local",
"Type": "volume",
"ID": "056067ddd20ba46ebf7bcc93b3d13861210e091a889e720f0c52d4cf8e9b2437",
"Spec": {
"Type": "volume",
"Target": "/var/www/html"
}
}
},
......
}
MountPoints”:{ 를 찾아 아래와 같이 추가하고 저장합니다
"MountPoints": {
"/var/log/apache2": {
"Source": "/var/log/docker_httpd01",
"Destination": "/var/log/apache2",
"RW": true,
"Name": "",
"Driver": "",
"Type": "bind",
"Propagation": "rprivate",
"Spec": {
"Type": "bind",
"Source": "/var/log/docker_httpd01",
"Target": "/var/log/apache2"
},
"SkipMountpointCreation": false
}
},
5.Docker 을 다시 시작하고 서버의 폴더를 확인하면 컨테이너의 파일을 확인할수 있습니다.
[root@localhost /]# systemctl docker start
[root@localhost /]# ls /var/log/docker_httpd01/
access.log error.log other_vhosts_access.log
*만약 json파일 편집시 양식이 알아보기 어려우면 [중급]vim으로 json형식 편집하기 강좌를 확인하시면 됩니다.