μ€λͺ
컨ν
μ΄λλ₯Ό μ κ±°ν μ μμ΅λλ€. dockerλ Driver devicemapper failed to remove root filesystem. Device is busy
ν©λλ€. μ΄λ κ² νλ©΄ 컨ν
μ΄λκ° Dead
μνκ° λ©λλ€.
λ¬Έμ λ₯Ό μ¬ννλ λ¨κ³:
docker rm container_id
λ°μ κ²°κ³Όλ₯Ό μ€λͺ
νμμμ€.
μ€λ₯ λ©μμ§κ° νμλ¨: Error response from daemon: Driver devicemapper failed to remove root filesystem ce2ea989895b7e073b9c3103a7312f32e70b5ad01d808b42f16655ffcb06c535: Device is Busy
μμν κ²°κ³Όλ₯Ό μ€λͺ
νμΈμ.
컨ν
μ΄λλ₯Ό μ κ±°ν΄μΌ ν©λλ€.
μ€μνλ€κ³ μκ°νλ μΆκ° μ 보(μ: λ¬Έμ κ° κ°λ λ°μν¨):
μ΄κ²μ 1.11.2μμ 1.12.2λ‘ μ
κ·Έλ μ΄λν ν λ°μνκΈ° μμνμΌλ©° κ°λ λ°μν©λλ€(μ κ±°μ 10%).
docker version
μΆλ ₯:
Client:
Version: 1.12.2
API version: 1.24
Go version: go1.6.3
Git commit: bb80604
Built:
OS/Arch: linux/amd64
Server:
Version: 1.12.2
API version: 1.24
Go version: go1.6.3
Git commit: bb80604
Built:
OS/Arch: linux/amd64
docker info
μΆλ ₯:
Containers: 83
Running: 72
Paused: 0
Stopped: 11
Images: 49
Server Version: 1.12.2
Storage Driver: devicemapper
Pool Name: data-docker_thin
Pool Blocksize: 65.54 kB
Base Device Size: 107.4 GB
Backing Filesystem: ext4
Data file:
Metadata file:
Data Space Used: 33.66 GB
Data Space Total: 86.72 GB
Data Space Available: 53.06 GB
Metadata Space Used: 37.3 MB
Metadata Space Total: 268.4 MB
Metadata Space Available: 231.1 MB
Thin Pool Minimum Free Space: 8.672 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Deferred Deletion Enabled: false
Deferred Deleted Device Count: 0
Library Version: 1.02.107-RHEL7 (2016-06-09)
Logging Driver: journald
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge null overlay host
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 3.10.0-327.10.1.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 7.305 GiB
Name: us-2.c.evennode-1234.internal
ID: HVU4:BVZ3:QYUQ:IJ6F:Q2FP:Z4T3:MBKH:I4KC:XFIF:W5DV:4HZW:45NJ
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Insecure Registries:
127.0.0.0/8
μΆκ° νκ²½ μΈλΆ μ 보(AWS, VirtualBox, 물리μ λ±):
AWS, gcloud, 물리μ λ± μλ²λ₯Ό μ€ννλ λͺ¨λ νκ²½
μ΄κ²μ λͺ¨λ 컨ν
μ΄λμμ λ°μν©λκΉ? 컨ν
μ΄λμμ μ€ν μ€μΈ κ²μ 무μμ΄λ©° 컨ν
μ΄λλ₯Ό μμνκΈ° μν΄ μ΄λ€ μ΅μ
μ μ¬μ©ν©λκΉ? (μ: λ°μΈλ λ§μ΄νΈλ λλ ν 리λ₯Ό μ¬μ©νκ³ μμ΅λκΉ? docker exec
λ₯Ό μ¬μ©νμ¬ μ»¨ν
μ΄λμμ μΆκ° νλ‘μΈμ€λ₯Ό μμνκ³ μμ΅λκΉ?)
μ°λ¦¬λ κ±°μ λμΌν λ°©μμΌλ‘ λͺ¨λ 컨ν
μ΄λλ₯Ό μ€ννκ³ κ·Έ μ€ νλμμ 무μμλ‘ λ°μν©λλ€.
μ°λ¦¬λ docker exec
λ₯Ό μ¬μ©νμ§ μκ³ μ΄λ€ λλ ν 리λ bind-mountνμ§ λ§μμμ€.
λ€μμ μ£½μ 컨ν
μ΄λ μ€ νλμ ꡬμ±μ
λλ€.
[
{
"Id": "ce2ea989895b7e073b9c3103a7312f32e70b5ad01d808b42f16655ffcb06c535",
"Created": "2016-10-13T09:14:52.069916456Z",
"Path": "/run.sh",
"Args": [],
"State": {
"Status": "dead",
"Running": false,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": true,
"Pid": 0,
"ExitCode": 143,
"Error": "",
"StartedAt": "2016-10-13T18:05:50.839079884Z",
"FinishedAt": "2016-10-14T01:49:22.133922284Z"
},
"Image": "sha256:df8....4f4",
"ResolvConfPath": "/var/lib/docker/containers/ce2ea989895b7e073b9c3103a7312f32e70b5ad01d808b42f16655ffcb06c535/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/ce2ea989895b7e073b9c3103a7312f32e70b5ad01d808b42f16655ffcb06c535/hostname",
"HostsPath": "/var/lib/docker/containers/ce2ea989895b7e073b9c3103a7312f32e70b5ad01d808b42f16655ffcb06c535/hosts",
"LogPath": "",
"Name": "/d9a....43",
"RestartCount": 0,
"Driver": "devicemapper",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "",
"ExecIDs": null,
"HostConfig": {
"Binds": [],
"ContainerIDFile": "",
"LogConfig": {
"Type": "fluentd",
"Config": {
"fluentd-address": "127.0.0.1:24224",
"fluentd-async-connect": "true",
"labels": "app_id",
"tag": "docker.{{if (.ExtraAttributes nil).app_id}}{{(.ExtraAttributes nil).app_id}}{{else}}{{.Name}}{{end}}"
}
},
"NetworkMode": "default",
"PortBindings": {
"3000/tcp": [
{
"HostIp": "127.0.0.2",
"HostPort": ""
}
]
},
"RestartPolicy": {
"Name": "always",
"MaximumRetryCount": 0
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"CapAdd": null,
"CapDrop": null,
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": [
"mongodb:10.240.0.2"
],
"GroupAdd": null,
"IpcMode": "",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"ConsoleSize": [
0,
0
],
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"CgroupParent": "mygroup/d9...43",
"BlkioWeight": 0,
"BlkioWeightDevice": null,
"BlkioDeviceReadBps": null,
"BlkioDeviceWriteBps": null,
"BlkioDeviceReadIOps": null,
"BlkioDeviceWriteIOps": null,
"CpuPeriod": 0,
"CpuQuota": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": null,
"DiskQuota": 0,
"KernelMemory": 0,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": -1,
"OomKillDisable": false,
"PidsLimit": 0,
"Ulimits": null,
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0
},
"GraphDriver": {
"Name": "devicemapper",
"Data": {
"DeviceId": "29459",
"DeviceName": "docker-8:1-34634049-8e884a263c75cfb042ac02136461c8e8258cf693f0e4992991d5803e951b3dbb",
"DeviceSize": "107374182400"
}
},
"Mounts": [],
"Config": {
"Hostname": "ce2ea989895b",
"Domainname": "",
"User": "app",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"3000/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PORT=3000",
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"/run.sh"
],
"Image": "eu.gcr.io/reg/d9...43:latest",
"Volumes": null,
"WorkingDir": "/data/app",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"app_id": "d9...43"
}
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "65632062399b8f9f011fdebcd044432c45f068b74d24c48818912a21e8036c98",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": null,
"SandboxKey": "/var/run/docker/netns/65632062399b",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"MacAddress": "",
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "59d8aa11b92aaa8ad9da7f010e8689c158cad7d80ec4b9e4e4688778c49149e0",
"EndpointID": "",
"Gateway": "",
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": ""
}
}
}
}
]
μ΄ νμΌ μμ€ν
μ΄ Backing Filesystem: ext4
μλ²μμλ§ λ°μνλ κ²μΌλ‘ λνλ¬μ΅λλ€.
xfs
λ₯Ό λ°±μ
νμΌ μμ€ν
μΌλ‘ μ€ννλ μλ²μμλ λ¬Έμ κ° λ°μνμ§ μλ κ² κ°μ΅λλ€.
@ceecko κ°μ¬ν©λλ€, ν₯λ―Έ
@rhvgoyal μ΄κ²μ κ·νμ μλ €μ§ λ¬Έμ μ λκΉ?
μ΄κ²μ νλ‘λμ μμ μ°λ¦¬μκ² ν° ν격μ μ€λλ€./ μ£½μ 컨ν μ΄λλ₯Ό μ κ±°νλ λ°©λ²μ λν ννΈκ° μμ΅λκΉ?
@thaJeztah μ΄κ²μ΄ xfsκ° μλ ext4μμλ§ λ°μνλ€λ
μΌλ°μ μΌλ‘ μ¬λλ€μ μ₯μΉκ° μ¬μ© μ€μ΄λΌκ³ λ³΄κ³ νμΌλ©° κ·Έ μ΄μ λ λ§€μ° λ€μν©λλ€.
@ceeko λ¨Όμ λ컀 λ°λͺ¬μ΄ νΈμ€νΈ λ§μ΄νΈ λ€μμ€νμ΄μ€κ° μλ μ체 μ¬λ μ΄λΈ λ§μ΄νΈ λ€μμ€νμ΄μ€λ‘ μ€νλκ³ μλμ§ νμΈν©λλ€. λ§μ΄νΈ μ§μ μ΄ μμ§ μκ³ μ΄λ¬ν μ€λ₯κ° λ°μν κ°λ₯μ±μ΄ μ€μ΄λλλ€. μμ€ν ꡬλ λ컀λ₯Ό μ¬μ©νλ κ²½μ° λ컀 λ¨μ νμΌμ΄ μμ΄μΌ νλ©° MountFlags=slaveκ° μμ΄μΌ ν©λλ€.
@rhvgoyal MountFlags=slave
λ μ§κΈκΉμ§ λ¬Έμ λ₯Ό ν΄κ²°ν κ² κ°μ΅λλ€. λ³κ²½ μ μ μμ±λ 컨ν
μ΄λλ μ¬μ ν λ¬Έμ μ΄μ§λ§ μ 컨ν
μ΄λλ μ§κΈκΉμ§ μ€λ₯λ₯Ό μ λ°νμ§ μλ κ² κ°μ΅λλ€. λ³κ²½ μ¬νμ΄ μμΌλ©΄ μ°λ½ λλ¦¬κ² μ΅λλ€.
Btw μ°Έμ‘°λ₯Ό μ°Ύμ μ μκΈ° λλ¬Έμ νλ‘λμ μμ λͺ¨λ² μ¬λ‘λ‘ κΆμ₯νκΈ° μν΄ μ μ₯μ λλΌμ΄λ² λ¬Έμλ₯Ό μ λ°μ΄νΈν κ°μΉκ° μμ΅λλ€.
λμμ£Όμ μ κ°μ¬ν©λλ€.
μ΄κ²μ μΌλ§ μ μ λ³κ²½λμμ΅λλ€. https://github.com/docker/docker/commit/2aee081cad72352f8b0c37ba0414ebc925b022e8#diff -ff907ce70a8c7e795bde1de91be6fa68(https://github.com/docker/228/pull) ν λ‘ μ λ°λΌ λ¬Έμ κ° μ κ±°λ κ²½μ° νμ±νλμ§ μμ; https://github.com/docker/docker/pull/22806#issuecomment -220043409
κΈ°λ³Έκ°μ λ€μ λ³κ²½ν΄μΌ ν©λκΉ? @rhvgoyal
@thaJeztah κΈ°λ³Έκ°μ λ€μ MountFlags=slaveλ‘ λ³κ²½νλ κ²μ΄ μ’μ΅λλ€. μ°λ¦¬λ κ·Έλ κ² νμ΅λλ€.
μ΄μμ μΌλ‘ μ§μ°λ μ κ±° λ° μ§μ°λ μμ κΈ°λ₯μ΄ μ΄λ₯Ό μ²λ¦¬ν΄μΌ νμΌλ©° MountFlags=slaveλ₯Ό μ¬μ©ν νμκ° μμμ΅λλ€. κ·Έλ¬λ μ§μ° μμ λ§μΌλ‘λ μΆ©λΆνμ§ μμ΅λλ€. μ΄μ 컀λμλ λ€λ₯Έ λ§μ΄νΈ λ€μμ€νμ΄μ€μ λ§μ΄νΈλ κ²½μ°μλ λ§μ΄νΈ λ€μμ€νμ΄μ€μμ λλ ν 리λ₯Ό μ κ±°ν μ μλ κΈ°λ₯μ΄ μμ΅λλ€. μ΄κ²μ΄ 컨ν μ΄λ μ κ±°κ° μ€ν¨ν μ μλ ν κ°μ§ μ΄μ μ λλ€.
λ°λΌμ μ€λλ 컀λμ΄ ν΄λΉ κΈ°λ₯μ μ 곡ν λκΉμ§ μ¬λ μ΄λΈ λ§μ΄νΈ λ€μμ€νμ΄μ€μμ λ컀 λ°λͺ¬μ μ€ννλ κ²μ΄ μ’μ΅λλ€.
@rhvgoyal MountFlags=slave
μμλ μ€λ₯κ° λ€μ λνλκΈ° μμνμ΅λλ€. μ§μ°λ μ κ±° λ° μμ λ₯Ό μλνκ³ λ€μ μ°λ½λλ¦¬κ² μ΅λλ€.
xfs
μμλ λμΌν μ€λ₯κ° λ°μνμ΅λλ€.
λ€μμ λ컀 μ 보μ
λλ€.
Containers: 52
Running: 52
Paused: 0
Stopped: 0
Images: 9
Server Version: 1.12.2
Storage Driver: devicemapper
Pool Name: data-docker_thin
Pool Blocksize: 65.54 kB
Base Device Size: 10.74 GB
Backing Filesystem: xfs
Data file:
Metadata file:
Data Space Used: 13 GB
Data Space Total: 107.1 GB
Data Space Available: 94.07 GB
Metadata Space Used: 19.19 MB
Metadata Space Total: 268.4 MB
Metadata Space Available: 249.2 MB
Thin Pool Minimum Free Space: 10.71 GB
Udev Sync Supported: true
Deferred Removal Enabled: true
Deferred Deletion Enabled: true
Deferred Deleted Device Count: 0
Library Version: 1.02.107-RHEL7 (2016-06-09)
Logging Driver: journald
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: host overlay bridge null
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 3.10.0-327.10.1.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 7.389 GiB
Name: ip-172-31-25-29.eu-west-1.compute.internal
ID: ZUTN:S7TL:6JRZ:HG52:LDLZ:VR5Q:RWVV:IP7E:HOQ4:R55X:Z7AI:P63R
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Insecure Registries:
127.0.0.0/8
MountFlags=slave
μ dm.use_deferred_deletion=true
μ dm.use_deferred_removal=true
μ¬μ©ν΄λ 1.12.2 μμ μ΄μ λ³΄λ€ λ μμ£Ό λ°μνμ§λ§ μ¬μ ν μ€λ₯κ° λ°μν¨μ νμΈνμ΅λλ€.
λ€μμ μ κ±°ν μ μλ 컨ν μ΄λ 1κ°μ λν μΆκ° μ 보μ λλ€.
libcontainerd: container 4d9bbd9b4da95f0ba1947055fa263a059ede9397bcf1456e6795f16e1a7f0543 restart canceled
error locating sandbox id c9272d4830ba45e03efda777a14a4b5f7f94138997952f2ec1ba1a43b2c4e1c5: sandbox c9272d4830ba45e03efda777a14a4b5f7f94138997952f2ec1ba1a43b2c4e1c5 not found
failed to cleanup ipc mounts:\nfailed to umount /var/lib/docker/containers/4d9bbd9b4da95f0ba1947055fa263a059ede9397bcf1456e6795f16e1a7f0543/shm: invalid argument
devmapper: Error unmounting device ed06c57080b8a8f25dc83d4afabaccb26d72009dad23a8e87310b873c226b905: invalid argument
Error unmounting container 4d9bbd9b4da95f0ba1947055fa263a059ede9397bcf1456e6795f16e1a7f0543: invalid argument
Handler for DELETE /containers/4d9bbd9b4da95f0ba1947055fa263a059ede9397bcf1456e6795f16e1a7f0543 returned error: Unable to remove filesystem for 4d9bbd9b4da95f0ba1947055fa263a059ede9397bcf1456e6795f16e1a7f0543: remove /var/lib/docker/containers/4d9bbd9b4da95f0ba1947055fa263a059ede9397bcf1456e6795f16e1a7f0543/shm: device or resource busy
λ€μ λ©μμ§λ λλ ν°λ¦¬ μ κ±°μ μ€ν¨νμμ λνλ λλ€.
remove /var/lib/docker/containers/4d9bbd9b4da95f0ba1947055fa263a059ede9397bcf1456e6795f16e1a7f0543/shm: device or resource busy
κ·Έλ¦¬κ³ μ΄μ 컀λμμλ λλ ν λ¦¬κ° λ€λ₯Έ λ§μ΄νΈ λ€μμ€νμ΄μ€μ λ§μ΄νΈλμ΄ μκΈ° λλ¬Έμ μ€ν¨ν μ μμ΅λλ€. deferred deletion
κΈ°λ₯μ λΉνμ±ννλ©΄ μ΄ λ©μμ§κ° λ μ΄μ νμλμ§ μμ΅λλ€. κ·Έλ¬λ κ·Έκ²μ λ€λ₯Έ μ€λ₯ λ©μμ§κ° λ κ²μ
λλ€.
μ¬κΈ°μ λ¬Έμ μ ν΅μ¬μ 컨ν μ΄λκ° μ¬μ ν μ€ν μ€μ΄κ±°λ μΌλΆ νμ¬ μ§μ μ΄ λ€λ₯Έ μΌλΆ νμ¬ λ€μμ€νμ΄μ€λ‘ λμΆλμλ€λ κ²μ λλ€. κ·Έλ¦¬κ³ κ·Έκ²μ΄ λμΆλ λ§μ΄νΈ λ€μμ€νμ΄μ€μ κ·Έκ²μ΄ μ΄λ»κ² κ±°κΈ°μ λλ¬νλμ§ μμλΌ μ μλ€λ©΄ μ°λ¦¬λ κ·Έκ²μ κ³ μΉ μ μμ΅λλ€.
μ΄ λ¬Έμ κ° λ°μνλ©΄ find /proc/*/mounts | xargs grep "4d9bbd9b4da95f0ba1947055fa263a059ede9397bcf1456e6795f16e1a7f0543"
μλν μ μμ΅λλ€.
κ·Έλ° λ€μ λμΆλ 컨ν μ΄λμ κ΄λ ¨λ λ§μ΄νΈκ° μλ pidλ₯Ό νμΈν©λλ€. κ·Έλ¦¬κ³ κ·Έκ²μ μ½κ°μ μμ΄λμ΄λ₯Ό μ€ μ μμ΅λλ€.
λλ λͺ¨λ μ£½μ 4κ°μ 컨ν μ΄λλ₯Ό μλνκ³ μ₯μΉκ° μ¬μ© μ€μ΄κ³ μ무κ²λ μ»μ§ λͺ»ν΄ μ κ±°ν μ μμ΅λλ€./
# find /proc/*/mounts | xargs grep -E "b3070ef60def|62777ad2994f|923a6d20506d|f3e079a9721c"
grep: /proc/9659/mounts: No such file or directory
μ΄μ μ€μ λ‘ μ½κ° λ€λ₯Έ μ€λ₯ λ©μμ§κ° λνλ©λλ€.
# docker rm b3070ef60def
Error response from daemon: Driver devicemapper failed to remove root filesystem b3070ef60deffc0e496631ed6e058c4569d6233bb6947b27072a70c663d9e579: remove /var/lib/docker/devicemapper/mnt/527ae5985b1b730a05a667d147ce15abcbfb950a334aea4b673a413b6b21c4dd: device or resource busy
κ°μ κ². μ΄ λλ ν 리λ λ€λ₯Έ λ§μ΄νΈ λ€μμ€νμ΄μ€μ λ§μ΄νΈλμ΄ μμΌλ―λ‘ μμ ν μ μμ΅λλ€. /proc/μμ κ²μν΄ λ³΄μΈμ.527ae5
λν΄ /mounts λ° grepμ μννκ³ μ΄ λ§μ΄νΈ μ§μ μ λ³΄κ³ μλ pidλ₯Ό νμΈν©λλ€. μ€μ μμ 컨ν
μ΄λ rootfs λ§μ΄νΈ ν¬μΈνΈκ° λ€λ₯Έ λ§μ΄νΈ λ€μμ€νμ΄μ€λ‘ λμΆλλ μ΄μ λ₯Ό νμ
ν΄μΌ ν©λλ€.
μ¬κΈ° μ°λ¦¬κ° κ°λ€:
# find /proc/*/mounts | xargs grep -E "527ae5"
grep: /proc/10080/mounts: No such file or directory
/proc/15890/mounts:/dev/mapper/docker-253:1-1050933-527ae5985b1b730a05a667d147ce15abcbfb950a334aea4b673a413b6b21c4dd /var/lib/docker/devicemapper/mnt/527ae5985b1b730a05a667d147ce15abcbfb950a334aea4b673a413b6b21c4dd xfs rw,seclabel,relatime,nouuid,attr2,inode64,logbsize=64k,sunit=128,swidth=128,noquota 0 0
/proc/23584/mounts:/dev/mapper/docker-253:1-1050933-527ae5985b1b730a05a667d147ce15abcbfb950a334aea4b673a413b6b21c4dd /var/lib/docker/devicemapper/mnt/527ae5985b1b730a05a667d147ce15abcbfb950a334aea4b673a413b6b21c4dd xfs rw,seclabel,relatime,nouuid,attr2,inode64,logbsize=64k,sunit=128,swidth=128,noquota 0 0
/proc/31591/mounts:/dev/mapper/docker-253:1-1050933-527ae5985b1b730a05a667d147ce15abcbfb950a334aea4b673a413b6b21c4dd /var/lib/docker/devicemapper/mnt/527ae5985b1b730a05a667d147ce15abcbfb950a334aea4b673a413b6b21c4dd xfs rw,seclabel,relatime,nouuid,attr2,inode64,logbsize=64k,sunit=128,swidth=128,noquota 0 0
/proc/4194/mounts:/dev/mapper/docker-253:1-1050933-527ae5985b1b730a05a667d147ce15abcbfb950a334aea4b673a413b6b21c4dd /var/lib/docker/devicemapper/mnt/527ae5985b1b730a05a667d147ce15abcbfb950a334aea4b673a413b6b21c4dd xfs rw,seclabel,relatime,nouuid,attr2,inode64,logbsize=64k,sunit=128,swidth=128,noquota 0 0
/proc/4700/mounts:/dev/mapper/docker-253:1-1050933-527ae5985b1b730a05a667d147ce15abcbfb950a334aea4b673a413b6b21c4dd /var/lib/docker/devicemapper/mnt/527ae5985b1b730a05a667d147ce15abcbfb950a334aea4b673a413b6b21c4dd xfs rw,seclabel,relatime,nouuid,attr2,inode64,logbsize=64k,sunit=128,swidth=128,noquota 0 0
/proc/4701/mounts:/dev/mapper/docker-253:1-1050933-527ae5985b1b730a05a667d147ce15abcbfb950a334aea4b673a413b6b21c4dd /var/lib/docker/devicemapper/mnt/527ae5985b1b730a05a667d147ce15abcbfb950a334aea4b673a413b6b21c4dd xfs rw,seclabel,relatime,nouuid,attr2,inode64,logbsize=64k,sunit=128,swidth=128,noquota 0 0
/proc/8858/mounts:/dev/mapper/docker-253:1-1050933-527ae5985b1b730a05a667d147ce15abcbfb950a334aea4b673a413b6b21c4dd /var/lib/docker/devicemapper/mnt/527ae5985b1b730a05a667d147ce15abcbfb950a334aea4b673a413b6b21c4dd xfs rw,seclabel,relatime,nouuid,attr2,inode64,logbsize=64k,sunit=128,swidth=128,noquota 0 0
/proc/8859/mounts:/dev/mapper/docker-253:1-1050933-527ae5985b1b730a05a667d147ce15abcbfb950a334aea4b673a413b6b21c4dd /var/lib/docker/devicemapper/mnt/527ae5985b1b730a05a667d147ce15abcbfb950a334aea4b673a413b6b21c4dd xfs rw,seclabel,relatime,nouuid,attr2,inode64,logbsize=64k,sunit=128,swidth=128,noquota 0 0
nginx 4194 0.0 0.0 55592 10520 ? S 11:55 0:06 nginx: worker process is shutting down
nginx 4700 2.3 0.0 55804 10792 ? S 11:58 3:52 nginx: worker process is shutting down
nginx 4701 1.8 0.0 55800 10784 ? S 11:58 3:04 nginx: worker process is shutting down
nginx 8858 2.4 0.0 55560 10720 ? S 14:05 0:59 nginx: worker process
nginx 8859 3.1 0.0 55560 10700 ? S 14:05 1:15 nginx: worker process
root 15890 0.0 0.0 55004 9524 ? Ss Oct29 0:05 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx 23584 0.0 0.0 55576 10452 ? S 09:17 0:00 nginx: worker process is shutting down
nginx 31591 0.9 0.0 63448 18820 ? S 09:46 2:53 nginx: worker process is shutting down
μ΄ pidκ° λ§€νλλ νλ‘μΈμ€λ 무μμ
λκΉ? cat /proc/<pid>/comm
λλ ps -eaf | grep <pid>
μλ
μ΄λ€μ λͺ¨λ ꡬμ±μ λ€μ λ‘λν ν μ’ λ£λλ nginx μμ μ νλ‘μΈμ€μ λλ€(μμ νΈμ§λ μ£Όμ μ°Έμ‘°). 컨ν μ΄λκ° λ³Όλ₯¨μ λ°μΈλ©νμ§ μκΈ° λλ¬Έμ λ§μ΄νΈλ₯Ό μ°¨λ¨νλ μ΄μ κ° κΆκΈν©λλ€.
κ·Έλμ nginx νλ‘μΈμ€κ° λ€λ₯Έ 컨ν μ΄λμμ μ€νλκ³ μμ΅λκΉ? μλλ©΄ νΈμ€νΈμμ μ€ν μ€μ λκΉ?
λ€μμ μνν μ μμ΅λλ€.
ls -l /proc/<docker-daemon-pid>/ns/mnt
ls -l /proc/<nginx-pid>/ns/mnt
ls -l /proc/$$/ns/mnt
κ·Έλ¦¬κ³ μΆλ ₯μ λΆμ¬λ£μ΅λλ€. μ¬κΈ°.
nginxλ νΈμ€νΈμμ μ€νλ©λλ€.
docker-pid
# ls -l /proc/13665/ns/mnt
lrwxrwxrwx. 1 root root 0 Oct 31 15:01 /proc/13665/ns/mnt -> mnt:[4026531840]
nginx-pid
# ls -l /proc/15890/ns/mnt
lrwxrwxrwx. 1 root root 0 Oct 31 15:01 /proc/15890/ns/mnt -> mnt:[4026533289]
ls -l /proc/$$/ns/mnt
lrwxrwxrwx. 1 root root 0 Oct 31 15:02 /proc/10063/ns/mnt -> mnt:[4026531840]
docker-pidμ host λ λ€ λμΌν λ§μ΄νΈ λ€μμ€νμ΄μ€λ₯Ό 곡μ νλ κ² κ°μ΅λλ€. μ΄λ λ컀 λ°λͺ¬μ΄ νΈμ€νΈ λ§μ΄νΈ λ€μμ€νμ΄μ€μμ μ€νλκ³ μμμ μλ―Έν©λλ€. κ·Έλ¦¬κ³ κ·Έκ²μ μλ§λ nginxκ° μ»¨ν μ΄λ μμ ν μ΄λ μμ μμ μμλμκ³ μ체 λ§μ΄νΈ λ€μμ€νμ΄μ€μμ μ€νλλ κ²μ²λΌ 보μΈλ€λ κ²μ μλ―Έν©λλ€. κ·Έλ¦¬κ³ κ·Έ λΉμ λ§μ΄νΈ ν¬μΈνΈκ° nginx λ§μ΄νΈ λ€μμ€νμ΄μ€λ‘ λμΆλμ΄ μ»¨ν μ΄λ μμ λ₯Ό λ°©μ§νκ³ μμ΅λλ€.
MountFlags=slaveκ° μλνλμ§ νμΈνμμμ€. μλνλ©΄ /proc/
λ€κ° μ³μ. μ΄ νΈμ€νΈλ μμ§ MountFlags=slave
μ€μ λμ§ μμμ΅λλ€.
λ€λ₯Έ νΈμ€νΈκ° κ·Έλ¬μ§λ§ μ¬μ ν μ£½μ 컨ν
μ΄λκ° μμ΅λλ€. μ§κΈμ μλμΌλ‘ λͺ¨λ μ κ±°νμ§λ§ MountFlags=slave
λ‘ μμ±λμμ΅λλ€.
μν©μ΄ λ°λ³΅λ λκΉμ§ κΈ°λ€λ Έλ€κ° μ¬κΈ°μ μ λ°μ΄νΈλ₯Ό κ²μνκ² μ΅λλ€. κ°μ¬ ν΄μ.
μ΄μ μν©μ λ€μκ³Ό κ°μ΅λλ€. MountFlags=slave
λ° μ§μ°λ μ κ±° λ° μμ λ₯Ό μ¬μ©νκ³ λλλ‘ μ격 APIμμ μ₯μΉκ° μ¬μ© μ€μ΄μ΄μ μ κ±°ν μ μλ€λ μ€λ₯κ° λ°μν©λλ€. κ·Έλ¬λ μ€λ₯ μ§νμ docker rm container
λ₯Ό νΈμΆνλ©΄ 컨ν
μ΄λκ° μ μ κ±°λ©λλ€.
λ¬Έμ κ° λ€μ λνλ¬μ΅λλ€.
λ컀λ
# ll /proc/16441/ns/mnt
lrwxrwxrwx. 1 root root 0 Nov 4 23:05 /proc/16441/ns/mnt -> mnt:[4026534781]
nginx
# ll /proc/15890/ns/mnt
lrwxrwxrwx. 1 root root 0 Oct 31 15:01 /proc/15890/ns/mnt -> mnt:[4026533289]
# ll /proc/$$/ns/mnt
lrwxrwxrwx. 1 root root 0 Nov 4 23:06 /proc/22029/ns/mnt -> mnt:[4026531840]
# find /proc/*/mounts | xargs grep -E "a2388cf8d19a"
/proc/11528/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/12918/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/1335/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/14853/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/1821/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/22241/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/22406/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/22618/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
grep: /proc/22768/mounts: No such file or directory
/proc/22771/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/23601/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/24108/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/24405/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/24614/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/24817/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/25116/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/25277/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/25549/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/25779/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/26036/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/26211/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/26369/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/26638/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/26926/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/27142/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/27301/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/27438/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/27622/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/27770/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/27929/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/28146/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/28309/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/28446/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/28634/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/28805/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/28961/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/29097/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/2909/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/29260/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/29399/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/29540/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/29653/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/29675/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/29831/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/30040/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/30156/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/30326/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/30500/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/30619/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/30772/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/30916/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/31077/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/31252/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/31515/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/31839/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/32036/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/32137/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/3470/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/5628/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/5835/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
/proc/8076/mounts:shm /var/lib/docker/containers/a2388cf8d19a431f47e9df533a853809ceaf819581c23c438fefe470d2bf8f03/shm tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,size=65536k 0 0
μ΄μ λͺ λ Ήμ νλ‘μΈμ€
PID TTY STAT TIME COMMAND
1335 ? Sl 0:00 docker-containerd-shim 9a678ecbd9334230d61a0e305cbbb50e3e5207e283decc2d570d787d98f8d930 /var/run/docker/libcontainerd/9a678ecbd9334230d61a0e305cbbb50e3e5207e283decc2d570d787d98f8d930 docker-runc
1821 ? Sl 0:00 docker-containerd-shim 97f0a040c0ebe15d7527a54481d8946e87f1ec0681466108fd8356789de0232b /var/run/docker/libcontainerd/97f0a040c0ebe15d7527a54481d8946e87f1ec0681466108fd8356789de0232b docker-runc
2909 ? Sl 0:00 docker-containerd-shim ef2e6a22e5ea5f221409ff8888ac976bd9b23633fab13b6968253104424a781f /var/run/docker/libcontainerd/ef2e6a22e5ea5f221409ff8888ac976bd9b23633fab13b6968253104424a781f docker-runc
3470 ? Sl 0:00 docker-containerd-shim 24b6918ce273a82100a1c6bae711554340bc60ff965527456130bd2fabf0ca6f /var/run/docker/libcontainerd/24b6918ce273a82100a1c6bae711554340bc60ff965527456130bd2fabf0ca6f docker-runc
5628 ? Sl 0:00 docker-containerd-shim 9561cbe2f0133119e2749d09e5db3f6473e77830a7981c1171849fe403d73973 /var/run/docker/libcontainerd/9561cbe2f0133119e2749d09e5db3f6473e77830a7981c1171849fe403d73973 docker-runc
5835 ? Sl 0:00 docker-containerd-shim a5afb5ab32c2396cdddd24390f94b01f597850012ad9731d6d47db9708567b24 /var/run/docker/libcontainerd/a5afb5ab32c2396cdddd24390f94b01f597850012ad9731d6d47db9708567b24 docker-runc
8076 ? Sl 0:00 docker-containerd-shim 20cca8e6ec26364aa4eb9733172c7168052947d5e204d302034b2d14fd659302 /var/run/docker/libcontainerd/20cca8e6ec26364aa4eb9733172c7168052947d5e204d302034b2d14fd659302 docker-runc
11528 ? Sl 0:00 docker-containerd-shim f7584de190086d41da71235a6ce2516cbccb8ac0fff9f71b03d405af9478660f /var/run/docker/libcontainerd/f7584de190086d41da71235a6ce2516cbccb8ac0fff9f71b03d405af9478660f docker-runc
12918 ? Sl 0:00 docker-containerd-shim 9ada39a06c5e1351df30dde993adcd048f8bd7984af2b412b8f3339f037c8847 /var/run/docker/libcontainerd/9ada39a06c5e1351df30dde993adcd048f8bd7984af2b412b8f3339f037c8847 docker-runc
14853 ? Sl 0:00 docker-containerd-shim 4d05a794e0be9e710b804f5a7df22e2dd268083b3d7d957daae6f017c1c8fb67 /var/run/docker/libcontainerd/4d05a794e0be9e710b804f5a7df22e2dd268083b3d7d957daae6f017c1c8fb67 docker-runc
22241 ? Sl 0:00 docker-containerd-shim ce81b6b51fcbf1163491381c790fc944b54adf3333f82d75281bc746b81ccd47 /var/run/docker/libcontainerd/ce81b6b51fcbf1163491381c790fc944b54adf3333f82d75281bc746b81ccd47 docker-runc
22406 ? Sl 0:00 docker-containerd-shim 519e5531104278559d95f351e2212b04b06f44cbd1e05336cd306b9a958c8874 /var/run/docker/libcontainerd/519e5531104278559d95f351e2212b04b06f44cbd1e05336cd306b9a958c8874 docker-runc
22618 ? Sl 0:00 docker-containerd-shim 869b356e7838ef3c0200864c58a89a22c812574a60da535eb2107a5da1d07a65 /var/run/docker/libcontainerd/869b356e7838ef3c0200864c58a89a22c812574a60da535eb2107a5da1d07a65 docker-runc
22771 ? Sl 0:00 docker-containerd-shim 63f0816e72d4be4ed79fe2c31794876b1b3ab7a300ca69497a8bddbd8cf8953f /var/run/docker/libcontainerd/63f0816e72d4be4ed79fe2c31794876b1b3ab7a300ca69497a8bddbd8cf8953f docker-runc
23601 ? Sl 0:00 docker-containerd-shim 9943b9930cb4803666caf5499dfb0753c36193efe0285f2ae697be63c6122003 /var/run/docker/libcontainerd/9943b9930cb4803666caf5499dfb0753c36193efe0285f2ae697be63c6122003 docker-runc
24108 ? Sl 0:00 docker-containerd-shim 21af7db24bbd1679f48ae3cf0d022535c208c63dc42a274dd54e3cfcb90b9737 /var/run/docker/libcontainerd/21af7db24bbd1679f48ae3cf0d022535c208c63dc42a274dd54e3cfcb90b9737 docker-runc
24405 ? Sl 0:00 docker-containerd-shim 0dccc5141be2367de2601d83020f7f4c27762d4c8e986b4b100a4bce12fc2f5a /var/run/docker/libcontainerd/0dccc5141be2367de2601d83020f7f4c27762d4c8e986b4b100a4bce12fc2f5a docker-runc
24614 ? Sl 0:00 docker-containerd-shim e1023b528f8b2a1889c0fc360c0d1738a15be0bd53e0722920a9abb5ecc2c538 /var/run/docker/libcontainerd/e1023b528f8b2a1889c0fc360c0d1738a15be0bd53e0722920a9abb5ecc2c538 docker-runc
24817 ? Sl 0:00 docker-containerd-shim 2106fe528147306e768b01b03ef7f10c53536ad4aaee6a628608c9c5bbf9494c /var/run/docker/libcontainerd/2106fe528147306e768b01b03ef7f10c53536ad4aaee6a628608c9c5bbf9494c docker-runc
25116 ? Sl 0:00 docker-containerd-shim 1b9623bf34b5030d47faf21dee6462478d6d346327af0b4c96e6ccae4c880368 /var/run/docker/libcontainerd/1b9623bf34b5030d47faf21dee6462478d6d346327af0b4c96e6ccae4c880368 docker-runc
25277 ? Sl 0:00 docker-containerd-shim 6662486b063f530a446602eed47811443eb737151b404c0d253bf54df9e6b93f /var/run/docker/libcontainerd/6662486b063f530a446602eed47811443eb737151b404c0d253bf54df9e6b93f docker-runc
25549 ? Sl 0:05 docker-containerd-shim f6e3e14362455f38d6abfdeb106f280151ee3f12dc9d2808c774dd3d2cd3e828 /var/run/docker/libcontainerd/f6e3e14362455f38d6abfdeb106f280151ee3f12dc9d2808c774dd3d2cd3e828 docker-runc
25779 ? Sl 0:00 docker-containerd-shim 144fded452cd9a0bdbcdf72890aa400eadb65e434038373e2ddfc1f4e28a1279 /var/run/docker/libcontainerd/144fded452cd9a0bdbcdf72890aa400eadb65e434038373e2ddfc1f4e28a1279 docker-runc
26036 ? Sl 0:00 docker-containerd-shim e076f6cfc4fcd04a9a4fa6aecf37fe244d6d84e200380b6ef4a1e0a79575e952 /var/run/docker/libcontainerd/e076f6cfc4fcd04a9a4fa6aecf37fe244d6d84e200380b6ef4a1e0a79575e952 docker-runc
26211 ? Sl 0:00 docker-containerd-shim 65bea267b22c9a6efe58ea9d7339986b01e7f67c095aa1451768de5114a5b027 /var/run/docker/libcontainerd/65bea267b22c9a6efe58ea9d7339986b01e7f67c095aa1451768de5114a5b027 docker-runc
26369 ? Sl 0:00 docker-containerd-shim 390bc07f95b460220bda115aad2f247b33f50c81f7bd2b3d1a20e1696b95511b /var/run/docker/libcontainerd/390bc07f95b460220bda115aad2f247b33f50c81f7bd2b3d1a20e1696b95511b docker-runc
26638 ? Sl 0:00 docker-containerd-shim b6d86f96d33260673b2e072419f08578716582578015a30e4f23d4e481a55809 /var/run/docker/libcontainerd/b6d86f96d33260673b2e072419f08578716582578015a30e4f23d4e481a55809 docker-runc
26926 ? Sl 0:00 docker-containerd-shim 337ec28dd75f2f5bc2cfa813504d35a8c148777c7f246f8af5d792c36f3453ae /var/run/docker/libcontainerd/337ec28dd75f2f5bc2cfa813504d35a8c148777c7f246f8af5d792c36f3453ae docker-runc
27142 ? Sl 0:00 docker-containerd-shim ba2216d6b46d7b57493734b093bc153823fb80a48ef4b91d0d1c660ee9adc519 /var/run/docker/libcontainerd/ba2216d6b46d7b57493734b093bc153823fb80a48ef4b91d0d1c660ee9adc519 docker-runc
27301 ? Sl 0:00 docker-containerd-shim 520f66841a97b2545784b29ea3bc7a22a58d97987c404e1d99314da75307d279 /var/run/docker/libcontainerd/520f66841a97b2545784b29ea3bc7a22a58d97987c404e1d99314da75307d279 docker-runc
27438 ? Sl 0:00 docker-containerd-shim 0908466da160ed739d74d675e1a6e04d85da0caa2216c739c0e218e75219dc3e /var/run/docker/libcontainerd/0908466da160ed739d74d675e1a6e04d85da0caa2216c739c0e218e75219dc3e docker-runc
27622 ? Sl 0:00 docker-containerd-shim e627ef7439b405376ac4cf58702241406e3c8b9fbe76694a9593c6f96b4e5925 /var/run/docker/libcontainerd/e627ef7439b405376ac4cf58702241406e3c8b9fbe76694a9593c6f96b4e5925 docker-runc
27770 ? Sl 0:00 docker-containerd-shim 0b6275f8f1d8277ac39c723825e7b830e0cf852c44696074a279227402753827 /var/run/docker/libcontainerd/0b6275f8f1d8277ac39c723825e7b830e0cf852c44696074a279227402753827 docker-runc
27929 ? Sl 0:00 docker-containerd-shim fcf647fbe0fe024cc4c352a2395d8d315d647aeda7f75a2f9d42826eca3dee58 /var/run/docker/libcontainerd/fcf647fbe0fe024cc4c352a2395d8d315d647aeda7f75a2f9d42826eca3dee58 docker-runc
28146 ? Sl 0:00 docker-containerd-shim 19f020044a3e600aa554a7ab00264155206e8791a7002f5616b397745b2c6405 /var/run/docker/libcontainerd/19f020044a3e600aa554a7ab00264155206e8791a7002f5616b397745b2c6405 docker-runc
28309 ? Sl 0:00 docker-containerd-shim 3f6a5b9136df8169d3d1e1eb104bda6f4baf32ca5a2bc35ddaeea4a3a0bf774a /var/run/docker/libcontainerd/3f6a5b9136df8169d3d1e1eb104bda6f4baf32ca5a2bc35ddaeea4a3a0bf774a docker-runc
28446 ? Sl 0:00 docker-containerd-shim f1ede5511531d05ab9eb86612ed239446a4b3acefe273ee65474b4a4c1d462e2 /var/run/docker/libcontainerd/f1ede5511531d05ab9eb86612ed239446a4b3acefe273ee65474b4a4c1d462e2 docker-runc
28634 ? Sl 0:00 docker-containerd-shim 7485d577ec2e707e1151a73132ceba7db5c0509c1ffbaf750515e0228b2ffa33 /var/run/docker/libcontainerd/7485d577ec2e707e1151a73132ceba7db5c0509c1ffbaf750515e0228b2ffa33 docker-runc
28805 ? Sl 0:00 docker-containerd-shim e5afd9eccb217e16f0494f71504d167ace8377498ce6141e2eaf96de71c74233 /var/run/docker/libcontainerd/e5afd9eccb217e16f0494f71504d167ace8377498ce6141e2eaf96de71c74233 docker-runc
28961 ? Sl 0:00 docker-containerd-shim bd62214b90fab46a92893a15e06d5e2744659d61d422776ce9b395e56bb0e774 /var/run/docker/libcontainerd/bd62214b90fab46a92893a15e06d5e2744659d61d422776ce9b395e56bb0e774 docker-runc
29097 ? Sl 0:00 docker-containerd-shim 81db13c46756851006d2f0b0393e37590bac228a3d958a12cc9f6c86d5992253 /var/run/docker/libcontainerd/81db13c46756851006d2f0b0393e37590bac228a3d958a12cc9f6c86d5992253 docker-runc
29260 ? Sl 0:00 docker-containerd-shim 188d2c3a98cc1d65a88daeb17dacca7fca978831a9292b7225e60f7443096114 /var/run/docker/libcontainerd/188d2c3a98cc1d65a88daeb17dacca7fca978831a9292b7225e60f7443096114 docker-runc
29399 ? Sl 0:00 docker-containerd-shim 1dc12f09be24722a18057072ac5a0b2b74324e13de051f213e1966c1d31e1348 /var/run/docker/libcontainerd/1dc12f09be24722a18057072ac5a0b2b74324e13de051f213e1966c1d31e1348 docker-runc
29540 ? Sl 0:00 docker-containerd-shim 0c425984d9c544683de0644a77849807a9ee31db99043e3e2bace9d2e9cfdb63 /var/run/docker/libcontainerd/0c425984d9c544683de0644a77849807a9ee31db99043e3e2bace9d2e9cfdb63 docker-runc
29653 ? Sl 0:00 docker-containerd-shim b1805c289749d432a0680aa7f082703175b647005d240d594124a64e69f5de28 /var/run/docker/libcontainerd/b1805c289749d432a0680aa7f082703175b647005d240d594124a64e69f5de28 docker-runc
29675 ? Sl 0:36 docker-containerd-shim 6a9751b28d88c61d77859b296a8bde21c6c0c8379089ae7886b7332805bb8463 /var/run/docker/libcontainerd/6a9751b28d88c61d77859b296a8bde21c6c0c8379089ae7886b7332805bb8463 docker-runc
29831 ? Sl 0:00 docker-containerd-shim 09796b77ef046f29439ce6cab66797314b27e9f77137017773f3b90637107433 /var/run/docker/libcontainerd/09796b77ef046f29439ce6cab66797314b27e9f77137017773f3b90637107433 docker-runc
30040 ? Sl 0:20 docker-containerd-shim a2e26ba3d11f876b38e88cc6501fae51e7c66c7c2d40982eec72f23301f82772 /var/run/docker/libcontainerd/a2e26ba3d11f876b38e88cc6501fae51e7c66c7c2d40982eec72f23301f82772 docker-runc
30156 ? Sl 0:00 docker-containerd-shim 35d157883a8c586e5086e940d1a5f2220e2731ca19dd7655c9ee3150321bac66 /var/run/docker/libcontainerd/35d157883a8c586e5086e940d1a5f2220e2731ca19dd7655c9ee3150321bac66 docker-runc
30326 ? Sl 0:00 docker-containerd-shim 5af072f8c0b1af434139104ad884706079e2c46bf951200eaf9531614e2dc92a /var/run/docker/libcontainerd/5af072f8c0b1af434139104ad884706079e2c46bf951200eaf9531614e2dc92a docker-runc
30500 ? Sl 0:00 docker-containerd-shim ba71715ba985511a617a7377b3b0d66f0b75af8323c17544c54f75da1a267a1f /var/run/docker/libcontainerd/ba71715ba985511a617a7377b3b0d66f0b75af8323c17544c54f75da1a267a1f docker-runc
30619 ? Sl 0:08 docker-containerd-shim f42fdd0d4d971442969637f9e1db4c1e45270d86f950e614d8721d767872930a /var/run/docker/libcontainerd/f42fdd0d4d971442969637f9e1db4c1e45270d86f950e614d8721d767872930a docker-runc
30772 ? Sl 0:00 docker-containerd-shim 8a745ab948d51e41b80992e2246058082f274d30d9f68f46dd3fef2e441afc01 /var/run/docker/libcontainerd/8a745ab948d51e41b80992e2246058082f274d30d9f68f46dd3fef2e441afc01 docker-runc
30916 ? Sl 0:00 docker-containerd-shim 238f635c6adac1786ee46a99f0c20f36544cc5ebd644fc0c0908d38e9177eb1e /var/run/docker/libcontainerd/238f635c6adac1786ee46a99f0c20f36544cc5ebd644fc0c0908d38e9177eb1e docker-runc
31077 ? Sl 0:00 docker-containerd-shim 9c208554dcb64c6568f026455a33d64830995c0411c6876fbea66355bab2cb5f /var/run/docker/libcontainerd/9c208554dcb64c6568f026455a33d64830995c0411c6876fbea66355bab2cb5f docker-runc
31252 ? Sl 0:00 docker-containerd-shim afc0a4c93a27d9451875f8d917b24c64f59ba3b1992ff52f9ac3f93623440a54 /var/run/docker/libcontainerd/afc0a4c93a27d9451875f8d917b24c64f59ba3b1992ff52f9ac3f93623440a54 docker-runc
31515 ? Sl 0:00 docker-containerd-shim b84b9b1d32bb9001359812a4dbbdf139c64c9eb9cf29475c73b2b498d990826f /var/run/docker/libcontainerd/b84b9b1d32bb9001359812a4dbbdf139c64c9eb9cf29475c73b2b498d990826f docker-runc
31839 ? Sl 0:00 docker-containerd-shim 5b328bfc29a6a3033c1c5aa39fa38006538307aca3056f17d6421e5855bc496f /var/run/docker/libcontainerd/5b328bfc29a6a3033c1c5aa39fa38006538307aca3056f17d6421e5855bc496f docker-runc
32036 ? Sl 0:00 docker-containerd-shim 5994ea24313b7e685321bd5bc03c0646c266969fa02f8061c0b4f1d94287f017 /var/run/docker/libcontainerd/5994ea24313b7e685321bd5bc03c0646c266969fa02f8061c0b4f1d94287f017 docker-runc
32137 ? Sl 0:00 docker-containerd-shim aa4d9711bce7f85e04b94c8f733d0e29fb08763031fa81068acf9b5ee1bf3061 /var/run/docker/libcontainerd/aa4d9711bce7f85e04b94c8f733d0e29fb08763031fa81068acf9b5ee1bf3061 docker-runc
μ’μ, docker-containerd-shimμ΄ μ΄ λ§μ΄νΈ μ§μ μ λ³΄κ³ μμΌλ―λ‘ κ³μ μ¬μ© μ€μ λλ€. docker-containerd-shimμ΄ λ¬΄μμ΄κ³ λ§μ΄νΈ μ§μ μ΄ κ±°κΈ°μμ λμΆλλ μ΄μ κ° νμ€νμ§ μμ΅λλ€. λκ° κ·Έκ²μ λν΄ μκ³ μμ΅λλ€.
@crosbymichael λΉμ μ΄ κ·Έκ²μ λν΄ μκ³ μμ κ²μ λλ€.
cc @mrunalp
ν μ£Όμ μ κ°μ¬ν©λλ€. λ΄κ° λ³Όκ²μ.
@ceecko μ΄ docker-containerd-shim μ€λ λ/νλ‘μΈμ€μ λ§μ΄νΈ λ€μμ€νμ΄μ€κ° 무μμΈμ§ νμΈν μ μμ΅λλ€. λλ μ΄κ²μ΄ docker λ°λͺ¬κ³Ό λ§μ΄νΈ λ€μ μ€νμ΄μ€λ₯Ό 곡μ νμ§ μλλ€κ³ μκ°νλ©° μλ§λ κ·ΈλμΌ ν κ²μ λλ€.
@rhvgoyal κ·Έλ€μ κ°μ μ΄λ¦ 곡κ°μ 곡μ ν©λλ€
λ컀λ
# ll /proc/16441/ns/mnt
lrwxrwxrwx. 1 root root 0 Nov 4 23:05 /proc/16441/ns/mnt -> mnt:[4026534781]
3κ°μ docker-container-shim νλ‘μΈμ€λ₯Ό νμΈνμ΅λλ€.
# ll /proc/23774/ns/mnt
lrwxrwxrwx. 1 root root 0 Nov 8 07:49 /proc/23774/ns/mnt -> mnt:[4026534781]
# ll /proc/27296/ns/mnt
lrwxrwxrwx. 1 root root 0 Nov 8 07:49 /proc/27296/ns/mnt -> mnt:[4026534781]
# ll /proc/31485/ns/mnt
lrwxrwxrwx. 1 root root 0 Nov 8 07:49 /proc/31485/ns/mnt -> mnt:[4026534781]
μ§κΈ μ κ±°ν μ μλ μ£½μ 컨ν
μ΄λκ° μμ΅λλ€.
λ¬Έμ λ μΌμ£ΌμΌμ λ λ² μ κΈ°μ μΌλ‘ λͺ¨λ 컨ν
μ΄λλ₯Ό μ€μ§ λ° μ κ±°νκ³ λμΌν ꡬμ±μΌλ‘ μ 컨ν
μ΄λλ₯Ό μμνλ€λ κ²μ
λλ€. μ΄ "λ€μ μμ"νκΈ° μ μ μΌλΆ 컨ν
μ΄λκ° μ’
λ£λμ΄ μ κ±°ν μ μμ΅λλ€. μ κΈ°μ μΌλ‘ "λ€μ μμ"νλ©΄ λλΆλΆμ 컨ν
μ΄λκ° μ£½μ§λ§ λͺ¨λ μ€λλ 컨ν
μ΄λκ° μ€μ§λλ©΄ λͺ¨λ μ£½μ 컨ν
μ΄λκ° κ°μκΈ° μ κ±°λ μ μμ΅λλ€.
λμΌν λ¬Έμ κ° μμ§λ§ docker-compose up -d
λ₯Ό μ¬μ©νμ¬ μ»¨ν
μ΄λλ₯Ό λ€μ λ§λ€λ €κ³ ν λ λͺ κ°μ§ μΆκ° μ€λ₯κ° λ°μν©λλ€.
Nov 10 13:25:21 omega dockerd[27830]: time="2016-11-10T13:25:21.418142082-06:00" level=info msg="Container b7fbb78311cdfb393bc2d3d9b7a6f0742d80dc5b672909408809bf6f7af55434 failed to exit within 10 seconds of signal 15 - using
Nov 10 13:25:21 omega dockerd[27830]: time="2016-11-10T13:25:21.530704247-06:00" level=warning msg="libcontainerd: container b7fbb78311cdfb393bc2d3d9b7a6f0742d80dc5b672909408809bf6f7af55434 restart canceled"
Nov 10 13:25:21 omega dockerd[27830]: time="2016-11-10T13:25:21.536115733-06:00" level=error msg="Error closing logger: invalid argument"
Nov 10 13:25:42 omega dockerd[27830]: time="2016-11-10T13:25:42.329001072-06:00" level=error msg="devmapper: Error unmounting device 0795abc37cc58b775ce4fb142271f5de5fa771477310321d1283f37ad6b20df9: Device is Busy"
Nov 10 13:25:42 omega dockerd[27830]: time="2016-11-10T13:25:42.329149437-06:00" level=error msg="Error unmounting container b7fbb78311cdfb393bc2d3d9b7a6f0742d80dc5b672909408809bf6f7af55434: Device is Busy"
Nov 10 13:25:42 omega dockerd[27830]: time="2016-11-10T13:25:42.544584079-06:00" level=error msg="Handler for GET /v1.24/containers/xbpf3invpull/logs returned error: No such container: xbpf3invpull"
νΉν Error closing logger: invalid argument
μ€λ₯μ failed to exit within 10 seconds
μ€λ₯κ° λ°μν©λλ€. μ΄λ λ΄κ° dumb-init λ₯Ό μ¬μ©νμ¬ μ»¨ν
μ΄λλ₯Ό μμνκΈ° λλ¬Έμ λ°μνμ§ μμμΌ νλ€κ³ νμ ν©λλ€.
μ΄ μ€λ₯κ° μ΄ λ¬Έμ μ κ΄λ ¨μ΄ μμ΅λκΉ?
νμ¬ μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ λ Έλ ₯νκ³ μμ΅λλ€. λλ λμμ λ리기 μν΄ containerdμ κ³΅κ° PRμ κ°μ§κ³ μμ΅λλ€.
μ΄λ₯Ό ν μ€νΈν μ¬ν κ°λ₯ν λ°©λ²μ μ°ΎκΈ°κ° μ΄λ ΅μ΅λλ€. μμ μ΄ μλ£λ ν μ΄ μμ μ ν μ€νΈνλ λ° κ΄μ¬μ΄ μμΌμ κ°μ?
κ·Έλ, νμ€ν. μ΄ λ¬Έμ λ₯Ό μ¬νν μ μλ κ°μ λ¨Έμ μ λ§λ€κ³ μμ μ μλνκ² μ΅λλ€. κ·Έλλ μλνμ§ μμΌλ©΄ λ¬Έμ κ° μλ μλ²μμ ν μ€νΈνκ² μ΅λλ€.
λ°©κΈ VMμ λ§λ€μκ³ (μμ£Ό μ½κ²!) λ¬Έμ λ₯Ό μ¬νν μ μμμ΅λλ€.
μ΄κ²μ΄ λ΄κ° Virtualboxλ‘ ν μΌμ λλ€.
systemctl enable docker
μμ€ν
μ μ¬λΆν
ν©λλ€.docker-compose up -d
systemctl start nginx
docker-compose pull
docker-compose up -d
(컨ν
μ΄λλ₯Ό λ€μ μμ±νλ €κ³ μλν λ€μ λ 컨ν
μ΄λ λͺ¨λμ λν΄ "μ₯μΉκ° μ¬μ© μ€μ
λλ€" μ€λ₯κ° νμλ©λλ€.nginxλ₯Ό μ€μ§νλ©΄ 컨ν μ΄λλ₯Ό μ κ±°ν μ μμ΅λλ€.
docker-compose.yml
νμ¬(λλ μ€ν¨ν μμ€ν
μ λ컀 μ€μ μ λͺ¨λ°©ν¨):
μμ² μ VMμ λν μ‘μΈμ€λ₯Ό μ 곡ν μ μμ΅λλ€. λ‘κ·ΈμΈμ λ³΄λΌ μ΄λ©μΌμ μ μκ²λ§ μ£Όμμμ€.
@mlaventure μ΄ λ¬Έμ λ₯Ό λ€μ μ΄ μ μμ΅λκΉ? νμ¬λ‘μλ μ΄ λ¬Έμ κ° μμ λμλμ§ μ¬λΆλ₯Ό μ μ μμ΅λλ€.
@SEAPUNK μ°λ¦¬λ μ΄ μ μλ μμ μ¬νμΌλ‘ containerdλ₯Ό μ λ°μ΄νΈν κ²μ λλ€. ν μ€νΈν κΈ°νκ° μλ€λ©΄ μλν΄ λ³Ό μ μλ λ°μ΄λ리λ₯Ό μ 곡ν μ μμ΅λλ€.
λ¬Όλ‘ , λ΄ VMμ΄ λκΈ° μνμ λλ€.
λ°μ΄λλ¦¬κ° μΈμ μ€λΉλ μ§ μ μ μμ΅λκΉ?
@SEAνν¬ 1.13 λ¦΄λ¦¬μ€ ν보λ μ§κΈ ν μ€νΈν μ μμΌλ©° μ΄ λ³κ²½ μ¬νμ΄ μμ΄μΌ ν©λλ€. https://github.com/docker/docker/releases
μκ² μ΅λλ€. μλν΄ λ³΄κ² μ΅λλ€. κ°μ¬ ν΄μ!
λλ λͺ¨λμκ²,
μ¬κΈ°μλ³΄κ³ λ κ²κ³Ό λμΌν λ¬Έμ κ° μλ€κ³ μκ°ν©λλ€.
[asantos<strong i="7">@fosters</strong> atp]$ docker-compose -f docker-compose-tst-u.yml rm api
Going to remove atp_api_1
Are you sure? [yN] y
Removing atp_api_1 ... error
ERROR: for atp_api_1 Driver devicemapper failed to remove root filesystem 63fac33396c5ab7de18505b6a6b6f41b4f927abeca74472fbe8490656ed85f3f: Device is Busy
dez 02 11:26:11 fosters.vi.pt kernel: device-mapper: ioctl: unable to remove open device docker-253:1-1315304-214b3ed3285aae193228831aba63b4e24592a96facfb604e4d2ff8b36000d6f9
dez 02 11:26:11 fosters.vi.pt kernel: device-mapper: ioctl: unable to remove open device docker-253:1-1315304-214b3ed3285aae193228831aba63b4e24592a96facfb604e4d2ff8b36000d6f9
dez 02 11:26:11 fosters.vi.pt kernel: device-mapper: ioctl: unable to remove open device docker-253:1-1315304-214b3ed3285aae193228831aba63b4e24592a96facfb604e4d2ff8b36000d6f9
dez 02 11:26:11 fosters.vi.pt kernel: device-mapper: ioctl: unable to remove open device docker-253:1-1315304-214b3ed3285aae193228831aba63b4e24592a96facfb604e4d2ff8b36000d6f9
dez 02 11:26:11 fosters.vi.pt kernel: device-mapper: ioctl: unable to remove open device docker-253:1-1315304-214b3ed3285aae193228831aba63b4e24592a96facfb604e4d2ff8b36000d6f9
dez 02 11:26:11 fosters.vi.pt kernel: device-mapper: ioctl: unable to remove open device docker-253:1-1315304-214b3ed3285aae193228831aba63b4e24592a96facfb604e4d2ff8b36000d6f9
dez 02 11:26:11 fosters.vi.pt kernel: device-mapper: ioctl: unable to remove open device docker-253:1-1315304-214b3ed3285aae193228831aba63b4e24592a96facfb604e4d2ff8b36000d6f9
dez 02 11:26:15 fosters.vi.pt docker[2535]: time="2016-12-02T11:26:15.943631263Z" level=error msg="Error removing mounted layer 63fac33396c5ab7de18505b6a6b6f41b4f927abeca74472fbe8490656ed85f3f: Device is Busy"
dez 02 11:26:15 fosters.vi.pt docker[2535]: time="2016-12-02T11:26:15.943863042Z" level=error msg="Handler for DELETE /v1.22/containers/63fac33396c5ab7de18505b6a6b6f41b4f927abeca74472fbe8490656ed85f3f returned error: Driver devicemapper failed to remove root filesystem 63fac33396c5ab7de18505b6a6b6f41b4f927abeca74472
dez 02 11:26:17 fosters.vi.pt docker[2535]: time="2016-12-02T11:26:17.299066706Z" level=error msg="Handler for GET /containers/7ea053faaf5afac4af476a70d2a9611a6b882d6a135bcea7c86579a6ae657884/json returned error: No such container: 7ea053faaf5afac4af476a70d2a9611a6b882d6a135bcea7c86579a6ae657884"
dez 02 11:26:17 fosters.vi.pt docker[2535]: time="2016-12-02T11:26:17.299608100Z" level=error msg="Handler for GET /containers/c3b1a805ed5d19a5f965d0ac979f05cbb59f362336041daea90a2fa4a1845d7d/json returned error: No such container: c3b1a805ed5d19a5f965d0ac979f05cbb59f362336041daea90a2fa4a1845d7d"
[asantos<strong i="8">@fosters</strong> atp]$ docker info
Containers: 4
Running: 3
Paused: 0
Stopped: 1
Images: 110
Server Version: 1.12.3
Storage Driver: devicemapper
Pool Name: docker-253:1-1315304-pool
Pool Blocksize: 65.54 kB
Base Device Size: 10.74 GB
Backing Filesystem: xfs
Data file: /dev/fosters/docker-data
Metadata file: /dev/fosters/docker-metadata
Data Space Used: 10.71 GB
Data Space Total: 20.72 GB
Data Space Available: 10.02 GB
Metadata Space Used: 16.73 MB
Metadata Space Total: 2.303 GB
Metadata Space Available: 2.286 GB
Thin Pool Minimum Free Space: 2.072 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Deferred Deletion Enabled: false
Deferred Deleted Device Count: 0
Library Version: 1.02.131 (2016-07-15)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: overlay null bridge host
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 4.8.8-300.fc25.x86_64
Operating System: Fedora 25 (Workstation Edition)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.672 GiB
Name: fosters.vi.pt
ID: EBFN:W46P:BMFR:OSJ5:UPY2:7KAT:5NMT:KAOF:XQI3:ITEM:XQNL:46P7
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Username: xxxxxxx
Registry: https://index.docker.io/v1/
Insecure Registries:
127.0.0.0/8
PKGBUILDλ₯Ό ν΅ν΄ λ°μ΄λ리λ₯Ό μλμΌλ‘ λΉλν΄μΌ νμ΅λλ€. λ κ°λ¨νκ³ μ‘°μ μ ν΅ν΄ PKGBUILDκ° νΉμ containerd 컀λ°(docker/containerd@03e5862ec0d8d3b3f750e19fca3ee367e13c090eλ‘ μ€μ )μ μ¬μ©νλλ‘ κ°μ ν μ μκΈ° λλ¬Έμ λλ€.
https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/docker #n19
곧 μμ κ²°κ³Όκ° λμμΌ ν©λλ€.
λ΄κ° λκ° μλͺ»νκ³ μμμ§ λͺ¨λ₯΄μ§λ§ μ§κΈμ 컨ν μ΄λλ₯Ό μ ν μμν μ μμ΅λλ€.
μ€, runcλ₯Ό μ λ°μ΄νΈν΄μΌ ν κ² κ°μ΅λλ€... brb μ¬κ΅¬μΆ
μ, μμ μ΄ μλνμ§ μλ κ² κ°μ΅λλ€.
docker info
Containers: 3
Running: 0
Paused: 0
Stopped: 3
Images: 8
Server Version: 1.13.0-rc2
Storage Driver: devicemapper
Pool Name: docker-8:1-1835956-pool
Pool Blocksize: 65.54 kB
Base Device Size: 10.74 GB
Backing Filesystem: xfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 745.6 MB
Data Space Total: 107.4 GB
Data Space Available: 27.75 GB
Metadata Space Used: 2.744 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.145 GB
Thin Pool Minimum Free Space: 10.74 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Deferred Deletion Enabled: false
Deferred Deleted Device Count: 0
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.136 (2016-11-05)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 03e5862ec0d8d3b3f750e19fca3ee367e13c090e
runc version: 51371867a01c467f08af739783b8beafc154c4d7
init version: N/A (expected: 949e6facb77383876aeff8a6944dde66b3089574)
Security Options:
seccomp
Profile: default
Kernel Version: 4.8.11-1-ARCH
Operating System: Arch Linux
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 3.864 GiB
Name: docker-vm
ID: KOVC:UCU5:5J77:P7I6:XXBX:33ST:H3UZ:GA7G:O7IF:P4RZ:VSSW:YBMJ
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
docker version
[root@docker-vm ~]# docker version
Client:
Version: 1.13.0-rc2
API version: 1.25
Go version: go1.7.4
Git commit: 1f9b3ef
Built: Fri Dec 2 12:37:59 2016
OS/Arch: linux/amd64
Server:
Version: 1.13.0-rc2
API version: 1.25
Minimum API version: 1.12
Go version: go1.7.4
Git commit: 1f9b3ef
Built: Fri Dec 2 12:37:59 2016
OS/Arch: linux/amd64
Experimental: false
μμ μ VMμμ μ΄κ²μ μ¬νν μ μλ€λ©΄ μ΄ λ¬Έμ λ₯Ό μ¬ννκ³ μ¬μ©μ μ§μ Docker ν¨ν€μ§λ₯Ό λΉλνλ VMμ λν μ‘μΈμ€λ₯Ό μ 곡ν μ©μκ° μμ΅λλ€.
CentOs 7μ docker 1.12.3μμ μ΄κ²μ λ³΄κ³ μμ΅λλ€.
dc2-elk-02:/root/staging/ls-helper$ λ컀 --λ²μ
Docker λ²μ 1.12.3, λΉλ 6b644ec
dc2-elk-02:/root/staging/ls-helper$ uname -a
Linux dc2-elk-02 3.10.0-327.36.3.el7.x86_64 #1 SMP μμμΌ 10μ 24μΌ 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
dc2-elk-02:/root/staging/ls-helper$ λ컀 rm ls-helper
λ°λͺ¬μ μ€λ₯ μλ΅: λλΌμ΄λ² devicemapperκ° λ£¨νΈ νμΌ μμ€ν
e1b9cdb519d2f4bea53a552c8b76c1085650aa76c1fb90c8e22cac9c2e18830: Device is Busyλ₯Ό μ κ±°νμ§ λͺ»νμ΅λλ€.
λλ λ컀 μμ±μ μ¬μ©νμ§ μμ΅λλ€.
λλ μλ§ μ΄ μ€λ₯κ° λ°μνμ κ² κ°λ€.
Flockerμ λν μΉμΈ ν μ€νΈλ₯Ό μ€νν λ λ€μκ³Ό κ°μ μ€λ₯κ° λ§μ΄ λνλ©λλ€.
[root@acceptance-test-richardw-axpeyhrci22pi-1 ~]# journalctl --boot --dmesg
...
Dec 13 17:34:56 acceptance-test-richardw-axpeyhrci22pi-1 kernel: dev_remove: 41 callbacks suppressed
Dec 13 17:34:56 acceptance-test-richardw-axpeyhrci22pi-1 kernel: device-mapper: ioctl: unable to remove open device docker-8:1-1072929-8a41ac9ebe13aa65b8513000bec2606a1dfc3ff624082dc9f4636b0e88d8ac62
Dec 13 17:34:56 acceptance-test-richardw-axpeyhrci22pi-1 kernel: device-mapper: ioctl: unable to remove open device docker-8:1-1072929-8a41ac9ebe13aa65b8513000bec2606a1dfc3ff624082dc9f4636b0e88d8ac62
Dec 13 17:34:56 acceptance-test-richardw-axpeyhrci22pi-1 kernel: device-mapper: ioctl: unable to remove open device docker-8:1-1072929-8a41ac9ebe13aa65b8513000bec2606a1dfc3ff624082dc9f4636b0e88d8ac62
Dec 13 17:34:56 acceptance-test-richardw-axpeyhrci22pi-1 kernel: device-mapper: ioctl: unable to remove open device docker-8:1-1072929-8a41ac9ebe13aa65b8513000bec2606a1dfc3ff624082dc9f4636b0e88d8ac62
Dec 13 17:34:56 acceptance-test-richardw-axpeyhrci22pi-1 kernel: device-mapper: ioctl: unable to remove open device docker-8:1-1072929-8a41ac9ebe13aa65b8513000bec2606a1dfc3ff624082dc9f4636b0e88d8ac62
Dec 13 17:34:56 acceptance-test-richardw-axpeyhrci22pi-1 kernel: device-mapper: ioctl: unable to remove open device docker-8:1-1072929-8a41ac9ebe13aa65b8513000bec2606a1dfc3ff624082dc9f4636b0e88d8ac62
Dec 13 17:34:56 acceptance-test-richardw-axpeyhrci22pi-1 kernel: device-mapper: ioctl: unable to remove open device docker-8:1-1072929-8a41ac9ebe13aa65b8513000bec2606a1dfc3ff624082dc9f4636b0e88d8ac62
Dec 13 17:34:56 acceptance-test-richardw-axpeyhrci22pi-1 kernel: device-mapper: ioctl: unable to remove open device docker-8:1-1072929-8a41ac9ebe13aa65b8513000bec2606a1dfc3ff624082dc9f4636b0e88d8ac62
Dec 13 17:34:56 acceptance-test-richardw-axpeyhrci22pi-1 kernel: device-mapper: ioctl: unable to remove open device docker-8:1-1072929-8a41ac9ebe13aa65b8513000bec2606a1dfc3ff624082dc9f4636b0e88d8ac62
Dec 13 17:34:56 acceptance-test-richardw-axpeyhrci22pi-1 kernel: device-mapper: ioctl: unable to remove open device docker-8:1-1072929-8a41ac9ebe13aa65b8513000bec2606a1dfc3ff624082dc9f4636b0e88d8ac62
Dec 13 17:35:00 acceptance-test-richardw-axpeyhrci22pi-1 kernel: XFS (dm-1): Unmounting Filesystem
[root@acceptance-test-richardw-axpeyhrci22pi-1 ~]# journalctl --boot --unit docker
...
-- Logs begin at Tue 2016-12-13 17:30:53 UTC, end at Tue 2016-12-13 18:01:09 UTC. --
Dec 13 17:31:12 acceptance-test-richardw-axpeyhrci22pi-1 systemd[1]: Starting Docker Application Container Engine...
Dec 13 17:31:14 acceptance-test-richardw-axpeyhrci22pi-1 dockerd[795]: time="2016-12-13T17:31:14.676133774Z" level=info msg="libcontainerd: new containerd process, pid: 1034"
Dec 13 17:31:16 acceptance-test-richardw-axpeyhrci22pi-1 dockerd[795]: time="2016-12-13T17:31:16.209852977Z" level=warning msg="devmapper: Usage of loopback devices is strongly discouraged for production use. Please use `--storage-opt dm.thinpooldev` or use `man docker`
Dec 13 17:31:16 acceptance-test-richardw-axpeyhrci22pi-1 dockerd[795]: time="2016-12-13T17:31:16.241124769Z" level=warning msg="devmapper: Base device already exists and has filesystem xfs on it. User specified filesystem will be ignored."
Dec 13 17:31:16 acceptance-test-richardw-axpeyhrci22pi-1 dockerd[795]: time="2016-12-13T17:31:16.259633105Z" level=info msg="[graphdriver] using prior storage driver \"devicemapper\""
Dec 13 17:31:16 acceptance-test-richardw-axpeyhrci22pi-1 dockerd[795]: time="2016-12-13T17:31:16.423748590Z" level=info msg="Graph migration to content-addressability took 0.00 seconds"
Dec 13 17:31:16 acceptance-test-richardw-axpeyhrci22pi-1 dockerd[795]: time="2016-12-13T17:31:16.443108711Z" level=info msg="Loading containers: start."
Dec 13 17:31:16 acceptance-test-richardw-axpeyhrci22pi-1 dockerd[795]: time="2016-12-13T17:31:16.507397974Z" level=info msg="Firewalld running: true"
Dec 13 17:31:17 acceptance-test-richardw-axpeyhrci22pi-1 dockerd[795]: time="2016-12-13T17:31:17.025244392Z" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address"
Dec 13 17:31:17 acceptance-test-richardw-axpeyhrci22pi-1 dockerd[795]: time="2016-12-13T17:31:17.195947610Z" level=info msg="Loading containers: done."
Dec 13 17:31:17 acceptance-test-richardw-axpeyhrci22pi-1 dockerd[795]: time="2016-12-13T17:31:17.196550209Z" level=info msg="Daemon has completed initialization"
Dec 13 17:31:17 acceptance-test-richardw-axpeyhrci22pi-1 dockerd[795]: time="2016-12-13T17:31:17.196575340Z" level=info msg="Docker daemon" commit=1564f02 graphdriver=devicemapper version=1.12.4
Dec 13 17:31:17 acceptance-test-richardw-axpeyhrci22pi-1 systemd[1]: Started Docker Application Container Engine.
Dec 13 17:31:17 acceptance-test-richardw-axpeyhrci22pi-1 dockerd[795]: time="2016-12-13T17:31:17.231752452Z" level=info msg="API listen on [::]:2376"
Dec 13 17:31:17 acceptance-test-richardw-axpeyhrci22pi-1 dockerd[795]: time="2016-12-13T17:31:17.231875125Z" level=info msg="API listen on /var/run/docker.sock"
Dec 13 17:32:41 acceptance-test-richardw-axpeyhrci22pi-1 dockerd[795]: time="2016-12-13T17:32:41.631480676Z" level=error msg="devmapper: Error unmounting device 2a1e449a617f575520ef95c99fb8feab06986b7b86d81e7236a49e1a1cf192bb: Device is Busy"
Dec 13 17:32:41 acceptance-test-richardw-axpeyhrci22pi-1 dockerd[795]: time="2016-12-13T17:32:41.632903143Z" level=error msg="Error unmounting container 117647e8bdd4e401d8d983c80872b84385d202015265663fae39754379ece719: Device is Busy"
Dec 13 17:33:20 acceptance-test-richardw-axpeyhrci22pi-1 dockerd[795]: time="2016-12-13T17:33:20.300663432Z" level=error msg="devmapper: Error unmounting device 52e079667cf40f83b5be6d9375261500a626885581f41fc99873af58bc75939e: Device is Busy"
Dec 13 17:33:20 acceptance-test-richardw-axpeyhrci22pi-1 dockerd[795]: time="2016-12-13T17:33:20.301660779Z" level=error msg="Error unmounting container 2aeabbd72f90da6d4fb1c797068f5c49c8e4da2182daba331dfe3e3da29c5053: Device is Busy"
Dec 13 17:34:50 acceptance-test-richardw-axpeyhrci22pi-1 dockerd[795]: time="2016-12-13T17:34:50.461588888Z" level=error msg="devmapper: Error unmounting device 8a41ac9ebe13aa65b8513000bec2606a1dfc3ff624082dc9f4636b0e88d8ac62: Device is Busy"
Dec 13 17:34:50 acceptance-test-richardw-axpeyhrci22pi-1 dockerd[795]: time="2016-12-13T17:34:50.462602087Z" level=error msg="Error unmounting container e0c45f71e2992831a10bc68562bcc266beba6ef07546d950f3cfb06c39873505: Device is Busy"
[root@acceptance-test-richardw-axpeyhrci22pi-1 ~]# docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 4
Server Version: 1.12.4
Storage Driver: devicemapper
Pool Name: docker-8:1-1072929-pool
Pool Blocksize: 65.54 kB
Base Device Size: 10.74 GB
Backing Filesystem: xfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 525.5 MB
Data Space Total: 107.4 GB
Data Space Available: 8.327 GB
Metadata Space Used: 1.384 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.146 GB
Thin Pool Minimum Free Space: 10.74 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Deferred Deletion Enabled: false
Deferred Deleted Device Count: 0
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.135-RHEL7 (2016-09-28)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: flocker local
Network: host bridge overlay null
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 3.10.0-514.2.2.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 7.305 GiB
Name: acceptance-test-richardw-axpeyhrci22pi-1
ID: 4OHX:ODXJ:R2MH:ZMRK:52B6:J4TH:PMDR:OQ5D:YUQB:5RE3:YDAQ:V5JP
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Insecure Registries:
127.0.0.0/8
[root@acceptance-test-richardw-axpeyhrci22pi-1 ~]# cat /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
[Install]
WantedBy=multi-user.target
@hvgoyal @rhatdan @vbatts
systemd docker.service λ¨μ νμΌμ MountFlags μμ΄ μ§μ°λ μμ λ° μ κ±°κ° νμ±νλ=trueμΈ dockerd 1.12.4λ₯Ό μ€ννλ RHEL7.1μμ μ€μ§/μ£½μ 컨ν
μ΄λ μμ /μ κ±° μ€μ 'μ₯μΉ μ¬μ© μ€' λ¬Έμ κ° λ°μν©λλ€.
λ€μκ³Ό κ°μ 컀λ λ©μμ§λ νμλ©λλ€.
"컀λ: μ₯μΉ λ§€νΌ: μ¬: μ¬ μ₯μΉ 120 μμ μ μ€ν¨νμ΅λλ€." (120μ μ κ±°λλ 컨ν
μ΄λμ μ¬ν μ₯μΉμ μ₯μΉ IDμ)
λͺ¨λ κ²½μ°μ μ κ±°λλ 컨ν μ΄λμ devicemapper μ¬ν μ₯μΉ λ§μ΄νΈ μ§μ μ΄ MountFlag=private/slaveλ‘ μμλλ νΈμ€νΈμ μλ λ€λ₯Έ pidμ λ§μ΄νΈ λ€μμ€νμ΄μ€λ‘ λμΆλμμ΅λλ€.
λ°λΌμ μμ μμ€ν
νλ‘μΈμ€λ κΈ°λ³Έμ μΌλ‘ κ°λ³μ μΌλ‘ λ³κ²½/μ μ΄ν μ μλ μΌλΆ λ§μ΄νΈ λ€μμ€νμ΄μ€λ₯Ό 곡μ ν΄μ νλ―λ‘ νΈμ€νΈ λ§μ΄νΈ λ€μμ€νμ΄μ€μμ λ§μ΄νΈ μ§μ μ λμΆνλ κ²μ΄ λ§€μ° μ¬μ΄ κ²μ²λΌ 보μ
λλ€.
mountflags=slaveλ‘ dockerdλ₯Ό μ€ννλ κ²μ΄ μ μΌν μ루μ
μ
λκΉ? λν mountflags=slave(κΈ°λ³Έκ°μ 곡μ )κ° λ컀 μμ€ν
λ¨μ νμΌμμ μΌλ§ μ μ μ κ±°λ μ΄μ λ₯Ό μ΄ν΄νλ λ° λμμ μ€ μ μμ΅λκΉ?
μ΄λ€ μλ리μ€μμ μ¬λ μ΄λΈ λ§μ΄νΈ μ§μ μ νλ‘ dockerdλ₯Ό μ€ννλ©΄ λ€λ₯Έ λ¬Έμ κ° λ°μν©λκΉ?
κ°μ¬ ν΄μ.
RHEL 컀λκ³Ό Fedoraμμ μ체 λ§μ΄νΈ λ€μμ€νμ΄μ€μμ dockerdλ₯Ό μ€ννλλ‘ κ°μ νλ μμ νλ €λ μ μ€νΈλ¦Ό 컀λμ λ€λ₯΄κ² μλνλ―λ‘ νΈμ€νΈ λ€μμ€νμ΄μ€μμ dockerdλ₯Ό μ€νν μ μμ΅λλ€.
@rhvgoyal μ λΉμ μκ²
@ravilr , rhel/centos 컀λμμ μ§μ°λ μμ λ₯Ό λΉνμ±νν©λλ€. 컀λμλ μ΄λ₯Ό μ§μνλ ν¨μΉκ° μμ΅λλ€.
λν MountFlags=slaveλ₯Ό μ¬μ©νμ¬ dockerλ₯Ό μ€νν©λλ€.
rhel/centos 컀λμμ μ§μ° μ κ±°λ₯Ό κ³μ μ¬μ©ν μ μμΌλ©° μλν΄μΌ ν©λλ€.
BTW, docker-storage-setupμ μ¬μ©νμ¬ μ€ν 리μ§λ₯Ό μ€μ νλ κ²½μ° κΈ°λ³Έ 컀λμ΄ μ§μ° μμ λ₯Ό μ§μνλμ§ μ¬λΆλ₯Ό μλμΌλ‘ νμ νκ³ κ·Έμ λ°λΌ ν΄λΉ μ΅μ μ μ€μ /ν΄μ ν©λλ€.
@rhvgoyal 컨ν μ΄λ λ£¨νΈ νμΌ μμ€ν μ κ±°μ μ€ν¨ν ν 곡κ°μ ν보νλ λ°©λ²μ μκ³ μμ΅λκΉ?
@rhvgoyal μ μ κ°μ¬ν©λλ€. μ μνμ λλ‘ μλνκ³ μ»¨ν μ΄λ μ κ±°μ κ΄λ ¨λ λ¬Έμ κ° κ³μ λ°μνλ©΄ μ¬κΈ°μ λ€μ λ³΄κ³ νκ² μ΅λλ€.
μΆ©λ; μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ λ° λμμ΄ νμν μ λ³΄κ° λ μμ΅λκΉ?
λλ Centos 7μμ 1.12.5λ₯Ό μ€ννλ κ²μ μ§μ μ³€μ΅λλ€.
moutflags=slaveλ₯Ό νμ±ννκ³ μ§μ°λ μ κ±° λ° μμ λ₯Ό νμ±ννλ©΄ μ΄ λ¬Έμ κ° ν΄κ²°λμμ΅λλ€. μ΄μ λλμ΄ κ²½μ 쑰건 λ²κ·Έλ₯Ό μΉκ³ μμ΅λλ€. https://github.com/docker/docker/issues/23418
μ΄κ²μ λΆμ΄ μλ 컨ν μ΄λλ₯Ό κ°μ λ‘ μ κ±°νλ κ²λ³΄λ€ μ½ 100λ°° λ«μ§λ§ μ¬μ ν μ’μ§λ μμ΅λλ€.
xfsμ CentOS 7μμ μ¬νν μ μμ΅λλ€.
λμΌν λ¬Έμ , Docker 1.13.0 - CentOS7:
docker-compose down
Removing container_container_1 ... error
ERROR: for container_container_1 Driver devicemapper failed to remove root filesystem 4d2d6c59f8435436e4144cc4e8675a0828658014cf53804f786ef2b175b4b324: Device is Busy
μ΄ λ¬Έμ μ λν ν΄κ²°μ± μ΄ μμ΅λκΉ? μ¬μ ν λ¬Έμ κ° νμλλ©° μ₯μΉλ₯Ό μ΄μ΄λ μνλ‘ μ μ§νλ νλ‘μΈμ€λ₯Ό μ°ΎμΌλ €λ μλκ° μ€ν¨νμ΅λλ€. μ¬μ© μ€μΈ μ₯μΉλ₯Ό μ΄μ΄λκ³ μλ νλ‘μΈμ€κ° μλ κ² κ°μ΅λλ€.
κ°μ¬ ν΄μ.
(λ΄ μ견μ λν μ λ°μ΄νΈ: μ€λ λλ₯Ό μ²μ μ½μ λλ λͺ ννμ§ μμμ§λ§ μ§μ° μ κ±°λ₯Ό νμ±ννκ³ MountFlags=slaveλ₯Ό μ€μ νλ©΄ λ¬Έμ κ° ν΄κ²°λ μ μμ΅λλ€. Dockerλ 1.13μΌλ‘ μ λ°μ΄νΈνκ² μ΅λλ€.)
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ €λ μ¬λμ μμ @ravilr μ μ견μ λ³Ό μ μμΌλ©° μμΈν λ΄μ©μ μλμμ νμΈν μ μμ΅λλ€.
λͺ¨λ κ²½μ°μ μ κ±°λλ 컨ν μ΄λμ devicemapper μ¬ν μ₯μΉ λ§μ΄νΈ μ§μ μ΄ MountFlag=private/slaveλ‘ μμλλ νΈμ€νΈμ μλ λ€λ₯Έ pidμ λ§μ΄νΈ λ€μμ€νμ΄μ€λ‘ λμΆλμμ΅λλ€.
ntpd.serviceλ RHELμμ PrivateTmp=trueλ‘ μμλ©λλ€.
systemd-udevd μλΉμ€λ RHELμμ MountFlags=slaveλ‘ μμλ©λλ€.
컨ν μ΄λ μμ κ° μ€ν¨ν νΈμ€νΈμμ μ΄λ¬ν νλ‘μΈμ€ μ€ νλλ ν΄λΉ 컨ν μ΄λ μμ μκ° μ΄νμ λ€μ μμλμμ΅λλ€.
either of these processes were restarted after the corresponding container start time.
κ° ν΅μ¬μ΄κ³ , "tmp"μ κ°μ μΌλΆ λλ ν 리μ νμΌμ docker 컨ν
μ΄λλΏλ§ μλλΌ λ€λ₯Έ λ€μμ€νμ΄μ€μμ μ¬μ©νλ―λ‘ dockerκ° κ°μ λ‘ νμΌμ μ’
λ£ν μ μμ΅λλ€.
λ€μ μμλ νλ‘μΈμ€λ₯Ό μ€μ§νκ±°λ μμ€ν
맀κ°λ³μ PrivateTmp=true
λ₯Ό falseλ‘ μ€μ νκ³ λ€μ μμνμ¬ μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ΅λλ€.
μ°Έμ‘°: https://www.freedesktop.org/software/systemd/man/systemd.exec.html
@KevinTHU μ΄μ©λ©΄ λ΄κ° λΉμ μ μ견μ μ€ν΄νκ³ μμ΅λλ€.
κ·Έλ¬λ λ΄ κ²½μ°(μ°λΆν¬ 14.04) μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ ν΄μΌ ν μΌμ λ컀 μλΉμ€ μ체λ₯Ό λ€μ μμνλ κ²μ
λλ€.
( service docker restart
). "ntpd.service" λλ "systemd-udevd μλΉμ€"κ° κ΄λ ¨λμ΄ μμ§ μμ΅λλ€.
κ·Έκ² λ§μ΄ λ©λκΉ?
@quexer λ¬Όλ‘ dockerλ₯Ό λ€μ μμνλ©΄ μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ§λ§ λͺ¨λ 컨ν μ΄λλ λ€μ μμλλ―λ‘ νλ‘λμ νκ²½μμλ λΉμ©μ΄ λ무 λ§μ΄ λλλ€.
@KevinTHU λ€μ μμ κ³ μ νμκΈ° μλΉμ€λ μ€νμ€μΈ λͺ¨λ 컨ν μ΄λμ μν₯μμ£Όμ§ μμ΅λλ€. μ§μ μλν΄ λ³Ό μ μμ΅λλ€.
@quexer ꡬμ±μ λ°λΌ λ€λ¦
λλ€. νμ§λ§ --live-restore
λͺ¨λλ‘ μ€ν μ€μΈ 컨ν
μ΄λλ₯Ό κ·Έλλ‘ λλ©΄ λ¬Έμ κ° ν΄κ²°λμ§ μμ μ μμ΅λλ€.
κΈ°λ³Έμ μΌλ‘ Dockerλ μ’
λ£ μ λͺ¨λ 컨ν
μ΄λλ₯Ό μ€μ§ν λ€μ λ°±μ
ν λ 무μΈκ°κ° μμΌλ©΄ 컨ν
μ΄λλ μ’
λ£ν©λλ€.
@cpuguy83 @KevinTHU μ£μ‘ν©λλ€. μ μλͺ»μ λλ€. λ§μ΅λλ€. dockerλ₯Ό λ€μ μμνλ©΄ λͺ¨λ 컨ν μ΄λκ° λ€μ μμλ©λλ€.
μ΄μ κ°μκΈ° λ΄ VM μ€ νλμμ μ κΈ°μ μΌλ‘ μ΄κ²μ μ»κ³ μμ΅λλ€. ν₯λ―Έλ‘κ²λ κ·Έ μ€ νλλ 8μκ° μ΄μ λ°©μΉν νμ μμ ν μ μκ² λμμ΅λλ€. λ΄ μ 보λ λ€μκ³Ό κ°μ΅λλ€.
rlpowell@vrici> sudo docker info
Containers: 15
Running: 3
Paused: 0
Stopped: 12
Images: 155
Server Version: 1.12.6
Storage Driver: devicemapper
Pool Name: docker-253:0-2621441-pool
Pool Blocksize: 65.54 kB
Base Device Size: 10.74 GB
Backing Filesystem: xfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 24.5 GB
Data Space Total: 107.4 GB
Data Space Available: 24.28 GB
Metadata Space Used: 29.57 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.118 GB
Thin Pool Minimum Free Space: 10.74 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Deferred Deletion Enabled: false
Deferred Deleted Device Count: 0
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.135 (2016-09-26)
Logging Driver: journald
Cgroup Driver: systemd
Plugins:
Volume: local
Network: host bridge null overlay
Authorization: rhel-push-plugin
Swarm: inactive
Runtimes: oci runc
Default Runtime: oci
Security Options: seccomp selinux
Kernel Version: 4.9.0-0.rc1.git4.1.fc26.x86_64
Operating System: Fedora 26 (Server Edition)
OSType: linux
Architecture: x86_64
Number of Docker Hooks: 2
CPUs: 4
Total Memory: 8.346 GiB
Name: vrici.digitalkingdom.org
ID: JIIS:TCH7:ZYXV:M2KK:EXQH:GZPY:OAPY:2DJF:SE7A:UZBO:A3PX:NUWF
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://registry.access.redhat.com/v1/
Insecure Registries:
127.0.0.0/8
Registries: registry.access.redhat.com (secure), docker.io (secure)
κ·Έλ¦¬κ³ λ κ³ μ₯λ¬μ΅λλ€.
μ΄κ²μ΄ κ΄λ ¨μ΄ μλμ§ λͺ¨λ₯΄μ§λ§ /var/log/messagesμλ λ€μμ΄ μμ΅λλ€.
2μ 14μΌ 16:58:49 vrici 컀λ: dev_remove: 40κ°μ μ½λ°±μ΄ μ΅μ λ¨
2μ 14μΌ 16:58:54 vrici 컀λ: dev_remove: 40κ°μ μ½λ°± μ΅μ
2μ 14μΌ 16:58:59 vrici 컀λ: dev_remove: 40κ° μ½λ°± μ΅μ
νμ¬ μ€λ₯λ λ€μκ³Ό κ°μ΅λλ€.
λ°λͺ¬μ Busdef89 μ€λ₯ μλ΅: λλΌμ΄λ² devicemapperκ° λ£¨νΈ νμΌ μμ€ν b265eec88a6d1220eab75391bcf4f85bcd687301bfabfa3a2331217918c7377e: dd81b83c879f4bcef81 μ κ±° μ€ν¨
μ₯μΉκ° μ΄λκ°μμ μ¬μ© μ€μ λλ€. μ€ν¨ ν λ€μ μ€ν¬λ¦½νΈλ₯Ό μλνκ³ μ₯μΉκ° μ¬μ© μ€μΌ μ μλ μμΉλ₯Ό νμΈν μ μμ΅λκΉ?
https://github.com/rhvgoyal/misc/blob/master/find-busy-mnt.sh
./find-busy-mnt.sh
./find-busy-mnt.sh dd81b82c875f4bcef819be83e9344c507965a9e9f48189f08c79fde5a9bde681
rlpowell@vrici> sudo bash /tmp/find-busy-mnt.sh b2205428f34a0d755e7eeaa73b778669189584977c17df2bf3c3bf46fe98be10
pidλ₯Ό μ°Ύμ μ μμ΅λλ€.
rlpowell@vrici> sudo λ컀 rm freq_build
λ°λͺ¬μ Bus5abac8 μ€λ₯ μλ΅: λλΌμ΄λ² devicemapperκ° λ£¨νΈ νμΌ μμ€ν
b2205428f34a0d755e7eeaa73b778669189584977c17df2bf3c3bf46fe98be10: μ₯μΉ 5f1095868bbfe25λ₯Ό μ κ±°νμ§ λͺ»νμ΅λλ€.
μ€, κ·Έκ²μ μλͺ»λ ν΄μμλ κ² κ°μ΅λλ€.
rlpowell@vrici> mount | grep b2205428f34a0d755e7eeaa73b778669189584977c17df2bf3c3bf46fe98be10
rlpowell@vrici> sudo bash /tmp/find-busy-mnt.sh 5f1095868bbfe85afccf392f6f4fbb8ed4bcfac88a5a8044bb122463b765956a
PID NAME MNTNS
12244 php-fpm mnt:[4026532285]
12553 php-fpm mnt:[4026532285]
12556 php-fpm mnt:[4026532285]
12557 php-fpm mnt:[4026532285]
12558 php-fpm mnt:[4026532285]
rlpowell@vrici> pg php-fpm
rlpowell 25371 10518 0 00:43 pts/9 00:00:00 | \_ grep --color=auto php-fpm
root 12244 1 0 00:08 ? 00:00:00 php-fpm: master process (/etc/php-fpm.conf)
apache 12553 12244 0 00:08 ? 00:00:00 \_ php-fpm: pool www
apache 12556 12244 0 00:08 ? 00:00:00 \_ php-fpm: pool www
apache 12557 12244 0 00:08 ? 00:00:00 \_ php-fpm: pool www
apache 12558 12244 0 00:08 ? 00:00:00 \_ php-fpm: pool www
rlpowell@vrici> sudo service php-fpm stop
Redirecting to /bin/systemctl stop php-fpm.service
rlpowell@vrici> sudo bash /tmp/find-busy-mnt.sh 5f1095868bbfe85afccf392f6f4fbb8ed4bcfac88a5a8044bb122463b765956a
No pids found
rlpowell@vrici> sudo docker rm freq_build
freq_build
κ·Έκ²μ ... λ§€μ° μ΄μν©λλ€. μ μμ ν κ΄λ ¨μ΄ μλ php-fpm νλ‘μΈμ€κ° ν΄λΉ λ§μ΄νΈλ₯Ό μ΄λ¦° μνλ‘ μ μ§νκΈ° μν΄ μ»€λμμ λ³Ό μ μλμ§ λͺ¨λ₯΄κ² μ΅λλ€.
@rlpowell μ, μ΄κ²μ΄ μ΄ λ¬Έμ μ μ 체 λ¬Έμ μ λλ€. λ§μ΄νΈ λ€μμ€νμ΄μ€κ° μ λλ‘ μλνμ§ μλ λ¬Έμ κ° μμ΅λλ€.
μ¬κΈ°μμ μλνλ ν΄κ²° λ°©λ²μΌλ‘ 보μ΄λ κ²μ μ°Ύμμ΅λλ€. http://blog.hashbangbash.com/2014/11/docker-devicemapper-fix-for-device-or-resource-busy-ebusy/
μ΄κ²μ κΈ°λ³Έμ μΌλ‘ systemd docker.service νμΌμ λ€μ μ€μ μΆκ°νλ κ²μ μλ―Έν©λλ€.
MountFlags=λΉκ³΅κ°
μ΄κ²μ μ μ΄λ λ°°ν¬ μ΄νμ μνν λ컀 μ€νμ μμ μνμμλ μλνλ κ² κ°μ΅λλ€. λ컀λ₯Ό μμ ν μ΄ν΄νλ μ¬λμ΄ μ΄ νλκ·Έμ κ²°κ³Όλ₯Ό μ€λͺ ν μ μλ€λ©΄ μ’μ κ²μ λλ€. λμ»€κ° μμλ ν λ§μ΄νΈλ νμΌ μμ€ν μ΄ μ»¨ν μ΄λμμ μ¬μ© κ°λ₯νμ§ μμ μ μλ€κ³ μκ°νμ§λ§ μμ§ν λͺ¨λ₯΄κ² μ΅λλ€. μ°λ¦¬μ ꡬμ±μ λΉλ μλ²μμ μ¬μ©νκΈ° μν κ²μ΄λ©° μ λλ‘ μλνλ κ² κ°μ΅λλ€.
μ΄κ²μ κ½€ μ€μν λ¬Έμ λ‘ Centos 7/RHELμμ λ컀λ₯Ό ν¨κ³Όμ μΌλ‘ μ¬μ©ν μ μκ² λ§λλλ€. (κ·Έλ¦¬κ³ 4κ°μ λμ μ΄λ € μμ΅λκΉ?)
λμ°© μμ μκ°μ΄ μμ΅λκΉ?
μ΅μ RHEL/centosλ docker.service νμΌμ MountFlags=slaveμ ν¨κ» μ 곡λμ΄μΌ ν©λλ€.
@rhvgoyal μ΄κ²μ κ·Έλ μ§ μμ΅λλ€: https://github.com/docker/docker/blob/master/contrib/init/systemd/docker.service.rpm
μ΄κ²μ λΈλμΉ λ§μ€ν°μ μμ§λ§ λΈλμΉ 1.13.x λ° 17.03.xμλ μμ΅λλ€.
λ΄κ° λ§ν μ μλ ν μ΄ νλκ·Έλ μ΄μ μλΉμ€ λ¨μμ μμμ§λ§ μ κ±°λμμ΅λλ€. κ·Έλ¬λ λλ κ·Έ μ΄μ λ₯Ό μ°Ύμ§ λͺ»νμ΅λλ€. μ΄ νλκ·Έλ νμ¬ λ¬Έμ λ₯Ό ν΄κ²°νμ§λ§ λ€λ₯Έ λ¬Έμ λ₯Ό μΌμΌν¬ μ μμ΅λλ€.
@rlpowell @SEAPUNK λ΄ μ°λΆν¬ μ€μΉμ κ²½μ°κ° μλ κ² κ°μ΅λλ€.
$ docker rm test
Error response from daemon: Driver devicemapper failed to remove root filesystem f23064c71f22215f8cc7c7192488ab1bbb24693b36e07018b32d58292ee6ce47: Device is Busy
$ sudo ./find-busy-mnts.sh f23064c71f22215f8cc7c7192488ab1bbb24693b36e07018b32d58292ee6ce47
No pids found
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"
$ docker version
Client:
Version: 1.13.1
API version: 1.26
Go version: go1.7.5
Git commit: 092cba3
Built: Wed Feb 8 06:50:14 2017
OS/Arch: linux/amd64
Server:
Version: 1.13.1
API version: 1.26 (minimum version 1.12)
Go version: go1.7.5
Git commit: 092cba3
Built: Wed Feb 8 06:50:14 2017
OS/Arch: linux/amd64
Experimental: false
$ docker info
Containers: 17
Running: 14
Paused: 0
Stopped: 3
Images: 148
Server Version: 1.13.1
Storage Driver: devicemapper
Pool Name: ubuntu--vg-thinpool
Pool Blocksize: 524.3 kB
Base Device Size: 10.74 GB
Backing Filesystem: ext4
Data file:
Metadata file:
Data Space Used: 29.3 GB
Data Space Total: 386.5 GB
Data Space Available: 357.2 GB
Metadata Space Used: 16.97 MB
Metadata Space Total: 4.295 GB
Metadata Space Available: 4.278 GB
Thin Pool Minimum Free Space: 38.65 GB
Udev Sync Supported: true
Deferred Removal Enabled: true
Deferred Deletion Enabled: false
Deferred Deleted Device Count: 0
Library Version: 1.02.110 (2015-10-30)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1
runc version: 9df8b306d01f59d3a8029be411de015b7304dd8f
init version: 949e6fa
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 4.4.0-62-generic
Operating System: Ubuntu 16.04.2 LTS
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 15.56 GiB
Name: martin
ID: W4KC:COLM:3G33:I54E:PNUD:A5XX:TEBZ:VG43:BR62:JWCU:B44Y:DQWJ
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
RHEL7μ΄ RHEL7.4κΉμ§ --live-restoreλ₯Ό μ§μν μ μλ μ΄μ μ λμ»€κ° νΈμ€νΈκ° μλ λ€λ₯Έ λ§μ΄νΈ λ€μμ€νμ΄μ€ λ΄μμ μ€νλμ΄μΌ νλ μ΄μ λ₯Ό μ€λͺ νλ κΈ°μ¬λ₯Ό μμ±νμ΅λλ€.
+1 λ€λ₯Έ λ§μ΄νΈ λ€μμ€νμ΄μ€λ‘ μ€ννκ³ λͺ¨λ λ컀 λ§μ΄νΈλ₯Ό λΉκ³΅κ°λ‘ λ§λ€κ³ μΆμ΅λλ€.
νμ§λ§ κ±°κΈ°μ μ½κ°μ κΉλ€λ‘μ΄ λΉνΈκ° μμ΅λλ€.
μ
μ€νΈλ¦Ό λ컀μ MountFlags=slave
μμ μ€ννκΈ° μν μ μ ν νλκ·Έκ° μλ κ²½μ° μ΄λ λ²κ·Έμ΄λ©° 컨ν
μ΄λμ νΈμ€νΈ κ°μ λμΆλλ λ§μ΄νΈ λ€μμ€νμ΄μ€ λ¬Έμ λ₯Ό μ½κ² μ λ°νκ³ μ»¨ν
μ΄λ μ΄λ―Έμ§λ₯Ό μ κ±°νλ λ° λ¬Έμ κ° λ°μν μ μμ΅λλ€.
FWIW, Red Hat μ μ§ κ΄λ¦¬μκ° κ²ν ν ν MountFlags=slave
κ° https://github.com/docker/docker/pull/22806 μμ μ κ±°λμμ§λ§ λ¬Έμ λ₯Ό μΌμΌν€λ κ² κ°μΌλ―λ‘ λλλ €μΌ νλμ§ κΆκΈν©λλ€. RHEL7.4κΉμ§?
μ, μ°λ¦¬λ κ·Έκ²μ μ κ±°νκ³ λμ€μ λ¬Έμ λ₯Ό μΌμΌμΌ°μ΅λλ€. κ·Έλμ ν λ‘ μ€λ λ μ€ νλμμ μ°λ¦¬λ κ·Έκ²μ λ€μ λμ νμλ κ²°λ‘ μ λ΄λ Έμ΅λλ€. λλ λΉμ μ΄ μ΄λ―Έ κ·Έκ²μ νλ€κ³ μκ°νμ΅λλ€. μ΄λ€ μ€λ λμλμ§ κΈ°μ΅λμ§ μμ΅λλ€.
@thaJeztah μ, μ°λ¦¬κ° μλͺ» μκ³ μΆκ° λ¬Έμ λ₯Ό λ°κ²¬νμ΅λλ€.
κ·Έλ¦¬κ³ μ΄λ¬ν λ¬Έμ λ μ£Όλ‘ μ΄μ 컀λμλ§ ν΄λΉλμμ΅λλ€. μ΅μ 컀λμ μ μλν©λλ€.
PRμ μ΄μ΄ μ΅μ μ λν΄ λ Όμνκ² μ΅λλ€.
μ¬κΈ°μμ PRμ μ΄μμ΅λλ€. https://github.com/docker/docker/pull/31490
λμΌν λ¬Έμ , docker 1.10.3, CentOS Linux λ¦΄λ¦¬μ€ 7.2.1511
dmesg:
[1732917.246900] device-mapper: ioctl: μ΄λ € μλ μ₯μΉλ₯Ό μ κ±°ν μ μμ΅λλ€. docker-8:3-5242884-b3c2bfc1d52638ca89c5bd4c880ac1ca1b596e574bcda09042eaafef7486
λ©μμ§:
4μ 3μΌ 03:32:34 A02-R05-I97-106 docker-current: time="2017-04-03T03:32:34.346374677+08:00" level=error2ceea4677+08:00" level=error31c0a4a msg="μ₯μ°©λ λ μ΄μ΄ μ κ±° μ€λ₯ b0b1e839f366086f "
4μ 3μΌ 03:32:34 A02-R05-I97-106 docker-current: time="2017-04-03T03:32:34.346597095+08:00" level=error msg="DELETE /v1.22/containers μ²λ¦¬κΈ° /b0b1e839f366086fd7cff564feee385a3aed71a56db90e4c0416517a72c13f2d λ°νλ μ€λ₯: λλΌμ΄λ² devicemapperκ° λ£¨νΈ νμΌ μμ€ν
b0b1e839f366086fd7cff564fea5λ₯Ό μ κ±°νμ§ λͺ»νμ΅λλ€.
μ°:
/proc/*/mounts μ°ΎκΈ° | xargs grep -E "5242884-b3c2bfc1d52638ca89c5bd4c880ac1ca1b596e574bcda09042eaafef74866f78"
μ / proc / 159,779 / λ§μ΄νΈ / λλ°μ΄μ€ / λ§€νΌ / κ³ μ νμκΈ°-8-3-5242884 b3c2bfc1d52638ca89c5bd4c880ac1ca1b596e574bcda09042eaafef74866f78 / μμΆ / κ³ μ νμκΈ° / devicemapper / MNT / b3c2bfc1d52638ca89c5bd4c880ac1ca1b596e574bcda09042eaafef74866f78 XFS RW, relatime μ΅μ
, nouuid, ATTR2, inode64, logbsize = 64K, sunit = 128 λλΉ=128, ν λΉλ μμ 0 0
μ / proc / 159,806 / λ§μ΄νΈ / λλ°μ΄μ€ / λ§€νΌ / κ³ μ νμκΈ°-8-3-5242884 b3c2bfc1d52638ca89c5bd4c880ac1ca1b596e574bcda09042eaafef74866f78 / μμΆ / κ³ μ νμκΈ° / devicemapper / MNT / b3c2bfc1d52638ca89c5bd4c880ac1ca1b596e574bcda09042eaafef74866f78 XFS RW, relatime μ΅μ
, nouuid, ATTR2, inode64, logbsize = 64K, sunit = 128 λλΉ=128, ν λΉλ μμ 0 0
μ 컨ν
μ΄λ οΌ
λ컀 κ²μ¬ 8777d36c94ec|grep Pid
"νΌλ": 159779,
//λ΄ μλͺ», ν΄κ²°νμ΅λλ€ γ
ID "8777d36c94ec"λ 무μμ λκΉ? μ΄κ²μ μ κ±°λλ 컨ν μ΄λμ 컨ν μ΄λ IDμ λκΉ μλλ©΄ λ€λ₯Έ 컨ν μ΄λμ λκΉ?
λ°λΌμ μ₯μΉλ μ¬μ ν 컨ν μ΄λμ νμ¬λμ΄ μμΌλ―λ‘ μ¬μ© μ€μ λλ€. λ°λΌμ μ κ±°λλ 컨ν μ΄λ μ€ νλκ° μμ§ μ€μ§λμ§ μμμ΅λλ€. λλ λ€λ₯Έ 컨ν μ΄λμΈ κ²½μ° λ€λ₯Έ 컨ν μ΄λμμ 보μ΄μ§ μμμΌ ν©λλ€.
λ§μ΄νΈ μ§μ "/export/docker/devicemapper/mnt/...."κ° λ¬΄μμ΄λ©° λκ° μμ±νλμ§ νμ€νμ§ μμ΅λκΉ?
λ΄ Mint μμ€ν
μμ 17.03.1~ce-0~ubuntu-xenial
μμ 17.04.0~ce-0~ubuntu-xenial
λ‘ μ
κ·Έλ μ΄λνλ©΄ μ΄ λ¬Έμ κ° λ§€μ° μμ£Ό λ°μν©λλ€.
μ κ·Έλ μ΄λνκΈ° μ μ λλ κ·Έκ²μ λ§λ μ μ΄ μμ΅λλ€. μ κ·Έλ μ΄λ νμλ λ§€μ° λΉλ²νμ΅λλ€. 17.03.1λ‘ λ€μ λ€μ΄ κ·Έλ μ΄λνλ©΄ ν΄κ²° λ κ² κ°μ΅λλ€.
μ΄ μ€λ λλ₯Ό μ½λ λ€λ₯Έ μ¬λλ€μ μν μ°Έκ³ μ¬νμΌλ‘ Googleμμ cAdvisorλ₯Ό μ€ν μ€μΈ κ²½μ° μ»¨ν μ΄λλ₯Ό μ κ±°νλ €κ³ ν λ μ΄ λ¬Έμ κ° νμλ©λλ€. λ¨Όμ cAdvisorλ₯Ό μ€μ§ν λ€μ 컨ν μ΄λλ₯Ό μ κ±°ν λ€μ cAdvisorλ₯Ό λ€μ μμν΄μΌ ν©λλ€.
@bmbroom λ§μ°¬κ°μ§ μ λλ€. μ°λ¦¬λ ν루 μ’ μΌ μ»¨ν μ΄λλ₯Ό νμ λ μ°λΆν¬ κΈ°λ° λΉλ μλ²λ₯Ό μ€ννλ©°(λ³΄ν΅ docker-composeμ μν΄ κ΅¬λλ¨) μ΄ λ¬Έμ λ₯Ό μΌμ£ΌμΌμ λ λ² λ³΄μμ΅λλ€. μλ²λ μ λ’°ν μ μλ μλ²μ xenial μλ²κ° νΌν©λμ΄ μμ΅λλ€. μ΅κ·Όμ 17.04.0~ceλ‘ μ κ·Έλ μ΄λλ₯Ό μμνμΌλ©° νμ¬ ν루μλ μ¬λ¬ λ² μ΄λ¬ν μΌμ΄ λ°μνκ³ μμ΅λλ€.
MountFlags=slaveκ° μ°λΆν¬μ μ μ© κ°λ₯νμ§ νμ€νμ§ μμ§λ§ κ·Έκ²μ΄ λ€μμ μλνλ κ²μ λλ€.
@rhvgoyal
λ―Έμνλ€οΌλ΄ μλͺ»μ΄λ€γ
λ€λ₯Έ μ¬λλ€μ μ¬μ ν ββλ΄ μ»¨ν
μ΄λμ νμ¬λμ΄ μμ΅λλ€.γ
λ€μμμ λμΌν λ¬Έμ κ° λ°μνμ΅λλ€.
systemctl restart ntpd
μννλ©΄ λ¬Έμ κ° μ¦μ ν΄κ²°λμμ΅λλ€.
@μ μ€λ₯΄
docker.service λ¨μ νμΌ μμ μλ MountFlags
무μμ
λκΉ?
/usr/lib/systemd/system/docker.service
νμΌμ MountFlags
κ° μμ§λ§ systemctl show docker
λ MountFlags=0
보μ¬μ€λλ€.
ntpd.service
λ§μ°¬κ°μ§μ
λλ€. λν κ²μ PrivateTmp=true
μΈ μ΄ν [Service]
D μ (μλ κ²½μ° κ·Έ λ¬Έμ λ₯Ό).
μ§κΈμ MountFlags=slaveλ‘ μ€ννμμμ€.
@rhvgoyalμ΄ λ΄ docker.service νμΌμ νμΈνμ΅λλ€. κ·Έλ¬λ κ·νμ κ°μΉλ μ΄λ―Έ μ€μ λμ΄ μμ΅λλ€.
grep MountFlags /etc/systemd/system/multi-user.target.wants/docker.service
MountFlags=slave
μ΅μ redhat(3.10.0-514.16.1.el7)/docker(1.12.6-16.el7) μ¬μ©
MountFlags=privateλ μ΄λ»μ΅λκΉ? κ°μΈκ³Ό λ Έμμ μ°¨μ΄μ μ μ€λͺ ν μ μμ΅λκΉ?
νμ¬ RHEL/CentOS 7.3, 컀λ 3.10.0-514.16.1.el7.x86_64, Docker λ²μ 17.05.0-ce, λΉλ 89658beμμ μ΄ λ¬Έμ λ₯Ό λ³΄κ³ μμ΅λλ€. μ°λ¦¬λ μ§λ 1λ λμ μ΄ λ¬Έμ λ₯Ό κ³μν΄μ 보μμμ΅λλ€.
/etc/systemd/system/multi-user.target.wants/docker.serviceμλ MountFlags μ΅μ μ΄ μμ΅λλ€. κ±°κΈ°μ "MountFlags=slave"λ₯Ό μΆκ°ν΄μΌ ν©λκΉ?
μ΄ λ¬Έμ κ° Centos, RHEL λ° Ubuntuμμ λ°μνλ€λ μκ²¬μ΄ μμ΅λλ€. Debianμ΄λ ContainerLinux λλ SUSEμ κ°μ λ€λ₯Έ μ΄μ 체μ λ μ΄ νΉμ λ¬Έμ λ‘λΆν° μμ ν©λκΉ?
@earwax μ΅μ 컀λ(>= 3.15)μ΄ μλ λͺ¨λ κ²μ΄ μΌλ°μ μΌλ‘ λ μ μλν©λλ€.
κ·Έλ¬λ μ΄ μ€λ₯κ° λ°μν μ μλ μν©μ νμ μμ΅λλ€.
λν, μ΄λ₯Ό μννκΈ° μν΄ μ¬κΈ° μ£Όμμ λͺ κ°μ§ λ°©λ²μ΄ λμ΄λμ΄ μμ΅λλ€.
SUSEμμ μ΄ λ¬Έμ λ₯Ό 보μμ§λ§ ν΄κ²° λ°©λ²μ μ°Ύμ μ μμμ΅λλ€...λλΆλΆ 곡κΈμμμ λ°μνλ κ²μΌλ‘ 보μ λλ€: AZURE
dockerdλ₯Ό 1.12.6μμ 17.05λ‘ μ λ°μ΄νΈν λλ μ΄ λ¬Έμ λ₯Ό λ°κ²¬νμ΅λλ€. λͺ¨λ μ€λλ 컨ν μ΄λλ '-f' μμ΄ μμ ν μ μμ΅λλ€. μ΄λ¬ν 컨ν μ΄λμλ '--live-restore' ꡬμ±μ΄ μκΈ° λλ¬Έμ dockerdλ₯Ό μ λ°μ΄νΈν λ λͺ¨λ μ€μ§λμ§ μλ κ³΅ν΅ κΈ°λ₯μ΄ μμμ΅λλ€. μ¬κΈ°μ λ¬Έμ κ° μλ€κ³ μκ°ν©λλ€.
μ΄κ²μ μ°Έκ³ λ‘ μ μ΄λ CentOS 7μμλ 17.06μμ μ¬μ ν λ¬Έμ μ λλ€.
@MGD1981 μ΄ λ²κ·Έλ₯Ό μμ ν΄μΌ ν©λλ€. μ°λ¦¬λ centos 7μ λμΌνκ² μ¬μ©νκ³ μμΌλ©° dockerλ₯Ό μ λ°μ΄νΈνκΈ° μ μ μμ±λ μ΄μ 컨ν μ΄λμλ "μ₯μΉκ° μ¬μ© μ€" λ¬Έμ κ° μμ λΏλ§ μλλΌ μλ‘ μμ±λ 컨ν μ΄λμλ λ¬Έμ κ° μλ€λ κ²μ μμμ΅λλ€. μ΄κ²μ μ λ§ μ€μν©λλ€. , κ·Έλ¦¬κ³ docker.serviceμ "MountFlags=slave"λ₯Ό μΆκ°νμ¬ ν΄κ²°ν©λλ€. κ·Έλ¬λ μ΄ λ§€κ°λ³μκ° λ€λ₯Έ λ¬Έμ λ₯Ό μΌμΌν¬μ§ μ¬λΆλ μ μ μμ΅λλ€.
μ, μ§κΈ QA νκ²½μμ μ΄κ²μ μλνκ³ μμ΅λλ€. μΈμ¬ν μ£Όμλ₯Ό κΈ°μΈμΌ κ²
λ§μ΄νΈμ. 컨ν
μ΄λμ FSκ°
μ΄ μ€μ μ μ¬μ©νλ©΄ μκ°μ΄ μ§λ¨μ λ°λΌ νΈμ€νΈκ° λμ€ν¬λ‘ "μνμ§"
μ£½μ 컨ν
μ΄λ?
2017λ 7μ 3μΌ μμμΌ μ€ν 10μ 38λΆ KevinTHU [email protected]μ΄(κ°) μμ±νμ΅λλ€.
@MGD1981 https://github.com/mgd1981 μ΄ λ²κ·Έλ₯Ό μμ ν΄μΌ ν©λλ€.
centos 7μ λμΌνκ² μ¬μ©νκ³ μ°λ¦¬λ μ€λλ 컨ν μ΄λλΏλ§ μλλΌ
λ컀λ₯Ό μ λ°μ΄νΈνκΈ° μ μ μμ±λ "μ₯μΉ μ¬μ© μ€" λ¬Έμ κ° μμ§λ§
μλ‘ μμ±λ 컨ν μ΄λ, μ΄κ²μ μ λ§ μ€μνλ©° λ€μκ³Ό κ°μ΄ ν΄κ²°ν©λλ€.
docker.serviceμ "MountFlags=slave"λ₯Ό μΆκ°ν©λλ€. κ·Έλ¬λ μ°λ¦¬λ λ μ¨λ₯Ό λͺ¨λ₯Έλ€
μ΄ λ§€κ°λ³μλ λ€λ₯Έ λ¬Έμ λ₯Ό κ°μ Έμ¬ κ²μ λλ€.β
λΉμ μ΄ μΈκΈλμκΈ° λλ¬Έμ μ΄κ²μ λ°λ κ²μ λλ€.
μ΄ μ΄λ©μΌμ μ§μ λ΅μ₯νκ³ GitHubμμ νμΈ
https://github.com/moby/moby/issues/27381#issuecomment-312766596 λλ μμκ±°
μ€λ λ
https://github.com/notifications/unsubscribe-auth/ADzZzStBbgubPK4soa2w5WW_hthYnZwjks5sKaW2gaJpZM4KW5Fn
.
@MGD1981 μ, νΈμ€νΈμ λ μ΄μ μ¬μ©λμ§ μλ λμ€ν¬κ° μλ κ² κ°μ΅λλ€. #33025 μ°Έμ‘°
@ceecko μ΄κ²μ 17.06λΆν° λ μ΄μ λ°μνμ§ μμ΅λλ€. κ·Έλ¬λ μ§μ°λ μ κ±°/μμ λ₯Ό νμ±ννλ©΄ μ¦μ μ 리λμ§ μμ μ μμ΅λλ€.
@cpuguy83 μ’μμ ! μ΄μ λ²μ μμ λ¨κ²¨λ μ€λλ λμ€ν¬λ μ 리ν©λκΉ?
@cpuguy83 μ 17.06μ΄ μμ§ μΆμλμλμ? (μ΄λ―Έ 7μμ΄λ―λ‘ 17.07?) github λ¦΄λ¦¬μ€ νμ΄μ§μμ μ°Ύμ μ μμ΅λλ€.
@ravilr μ’ λ£ λμμ΅λλ€. 릴리μ€λ github.com/docker/docker-ceμμ μ 곡λ©λλ€.
@ceecko μ λ κ·Έλ κ² μκ°νμ§ μμ΅λλ€.
@cpuguy83 κ°μ¬ν©λλ€. 17.06μ λ¦΄λ¦¬μ€ μ 보μλ μ΄ λ¬Έμ μ κ΄λ ¨λ μ¬μ μμ μ¬νμ΄ μΈκΈλμ΄ μμ§ μμ κ² κ°μ΅λλ€. μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν μμ μ¬νμ 무μμ΄μμ΅λκΉ? λ€μ νλ² κ°μ¬ν©λλ€.
@ravilr μ΄ ν보 https://github.com/moby/moby/pull/31012
μ λ CentOS 7(κ°μ ν μ€ν λ¦¬μ§ ν¬ν¨)μμ 17.06.0-ceλ₯Ό μ€ν μ€μ΄λ©° μ΅κ·Όμ λ§μ΄ λ°μνκ³ μμ΅λλ€.
+ docker rm -f jenkins-build_rcc_testrun-1945
Error response from daemon: driver "devicemapper" failed to remove root filesystem for d626082dffb7c52fa8c012a2de3b113e431d1bdbc834084654051900e9482f23: failed to remove device 01c54a8701901f7fcb096e61b9028665df7f0596a0ad01d8ce0cd88215959d14: Device is Busy
Build step 'Execute shell' marked build as failure
MountFlags=slave
, @AaronDMarasco-VSI κ° μκ±°λ μλ κ²μ
λκΉ? μΌνΈOS 7.3?
17.06μ κ·Όλ³Έμ μΈ λ¬Έμ λ₯Ό ν΄κ²°νμ§ μκ³ μ²λ¦¬νλ κ²μ΄ λ μ’μ΅λλ€.
λ¬Έμ λ₯Ό μ
νμν€λ λ컀(λλ containerdμ κ°μ μΌλΆ νμ ꡬμ±μμ)κ° μννλ μμ
μ΄ μλμ§ μ΄ν΄λ³΄κ³ μμ΅λλ€.
@esabol μλ... λΉκ³΅κ°?
docker.service.d$ cat * | grep -v '^#'
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --exec-opt native.cgroupdriver=cgroupfs --storage-driver devicemapper --storage-opt dm.fs=xfs --storage-opt dm.thinpooldev=/dev/mapper/vg_ex-docker--pool --storage-opt dm.use_deferred_removal=true
[Unit]
After=lvm2-lvmetad.socket lvm2-activation.service lvm2-lvmetad.service
[Service]
MountFlags=private
docker.service.d$ cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
@AaronDMarasco-VSI, μν©μ κ°μ ν MountFlags=slave
λ³κ²½νλ κ²μ΄ μ’μ΅λλ€. νμ§λ§ μμ§ 17.05μ΄κ³ μ¬μ©νκ³ μΆμ§ μμ κ³³μ λ³Έ κ² κ°μ΅λλ€. MountFlags=slave
μ dm.use_deferred_removal
? μλ§λ λ€λ₯Έ μ¬λμ΄ λκΈμ λ¬κ³ νμΈν κ²μ
λλ€.
centos 7.3 λ° μ»€λ 4.10μμ docker 17.03μ μ¬μ©νκ³ μμ΅λλ€. κ·Έλ¦¬κ³ λλμ΄ μ€λ₯λ₯Ό λ§μ΄ 보μμ΅λλ€. μλλ MountFlagμ λν λͺ κ°μ§ μμΈν λ΄μ©μ λλ€.
# systemctl show docker | grep Private
PrivateTmp=no
PrivateNetwork=no
PrivateDevices=no
# systemctl show docker | grep Mount
MountFlags=0
μ¬κΈ° Debian 8κ³Ό λμΌν λ¬Έμ κ° μμ΅λλ€. CIκ° κΉ¨μ§κ³ κ°λ₯ν ν΄κ²° λ°©λ²μ΄ μμ΅λκΉ?
@thg303 κ°λ₯νλ©΄ dockerdeamonμ μ’ λ£νκ³ λ‘κ·Έ νμΌ(rm /var/lib/docker/.....)μμ λ°μνλ λ£¨νΈ νμΌ μμ€ν μ μ 리/μ κ±°νμμμ€. νμ§λ§ κ·Έ μ μ μ€λ μ·/λ°±μ μ ν΄μΌ ν©λλ€ :-)
Fedora 25, 컀λ 4.11.12μμλ λμΌν λ¬Έμ κ° λ°μν©λλ€.
Containers: 5
Running: 0
Paused: 0
Stopped: 5
Images: 16
Server Version: 17.06.0-ce
Storage Driver: devicemapper
Pool Name: docker-253:2-5373989-pool
Pool Blocksize: 65.54kB
Base Device Size: 21.47GB
Backing Filesystem: xfs
Data file: /dev/loop1
Metadata file: /dev/loop2
Data Space Used: 59.33GB
Data Space Total: 107.4GB
Data Space Available: 48.05GB
Metadata Space Used: 76.11MB
Metadata Space Total: 2.147GB
Metadata Space Available: 2.071GB
Thin Pool Minimum Free Space: 10.74GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Deferred Deletion Enabled: false
Deferred Deleted Device Count: 0
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.136 (2016-11-05)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: cfb82a876ecc11b5ca0977d1733adbe58599088a
runc version: 2d41c047c83e09a6d61d464906feb2a2f3c52aa4
init version: 949e6fa
Security Options:
seccomp
Profile: default
Kernel Version: 4.11.12-200.fc25.x86_64
Operating System: Fedora 25 (Workstation Edition)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.703GiB
Name: wayland
ID: 3T2X:CMFA:53Y2:27FL:RBMD:FHMH:32QE:2DKL:L256:O2GJ:LT2X:N4DD
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Http Proxy: http://127.0.0.1:8118/
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
WARNING: devicemapper: usage of loopback devices is strongly discouraged for production use.
Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
centos7μμ λμ»€κ° μ λ°μ΄νΈλ λλ§λ€ μ΄ λ¬Έμ κ° λ°μνμ΅λλ€. λ컀λ₯Ό λ€μ μμνλ©΄ λͺ¨λ κ²μ΄ μ μλν©λλ€.
Docker 17.06.0-ceκ° μλ Fedora 26μμλ λ§μ°¬κ°μ§μ λλ€. λ컀λ₯Ό λ€μ μμν΄λ λ¬Έμ κ° ν΄κ²°λμ§ μμμ΅λλ€.
$ systemctl show docker | grep Private
PrivateTmp=no
PrivateDevices=no
PrivateNetwork=no
PrivateUsers=no
$ systemctl show docker | grep Mount
MountFlags=0
MountAPIVFS=no
1λ μ΄ μ§λ μ§κΈ μ΄ λ²κ·Έκ° μ¬μ ν μ‘΄μ¬ν©λκΉ?
@NeckBeardPrince μ΄λ° 무μλ―Έν λκΈλ‘ μκ°λλΉνμ§
λ¬Έμ λ₯Ό ν΄κ²°νλ λ° λμμ΄ λμμΌλ©΄ ν©λλ€. λ¬Έμ μ λν μΆκ° λ°μ΄ν°λ₯Ό λ³΄κ³ νκ³ μΆλ€λ©΄ μ’μ΅λλ€.
κ·Έ μΈμλ μ¬κΈ°μ κ²μλ μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ λͺ κ°μ§ λ°©λ²μ΄ μμ΅λλ€.
systemd λ¨μ νμΌμ MountFlags=slave
μ ν¨κ» μ 곡λμ§ μμ΅λλ€.
Server Version: 17.06.1-ce
CentOS Linux release 7.3.1611 (Core)
[root<strong i="7">@dokken</strong> /]# systemctl show docker | grep Private
PrivateTmp=no
PrivateNetwork=no
PrivateDevices=no
[root<strong i="8">@dokken</strong> /]# systemctl show docker | grep Mount
MountFlags=0
μ§λλ²μ μ΄ λ¬Έμ κ° λ°μνμ λ λ§μ΄νΈλ₯Ό μ‘κ³ μλ κ²μ ntpd
μμ΅λλ€.
μ€λλ κ°μ λ¬Έμ κ° λ°μνλλ° μ΄λ²μλ νΈμ€νΈμμ μ€ν μ€μΈ mariadb
μΈμ€ν΄μ€κ° μμΈμ΄μμ΅λλ€.
λ§μ΄νΈλ₯Ό λ€κ³ μλ νλ‘μμ λ₯Ό μ°Ύλ μ....
# container with the problem
docker rm efad7...
Error response from daemon: Driver devicemapper failed to remove root filesystem efad7...: remove /var/lib/docker/devicemapper/mnt/9bd66290ee...: device or resource busy
# Grep after parts of the mountpoint
grep docker /proc/*/mountinfo | grep 9bd66290ee
/proc/9736/mountinfo:776 427 253:24 / /var/lib/docker/devicemapper/mnt/9bd66290e...
/proc/9910/mountinfo:776 427 253:24 / /var/lib/docker/devicemapper/mnt/9bd66290e...
# Find who the pid's belongs to
ps aux | grep -E "9736|9910"
mysql 9736 0.0... /usr/bin/mysqld_safe --basedir=/usr
mysql 9910 9.8 ... /usr/libexec/mysqld --base...
# Do some extra research on one of the pids
grep docker /proc/9736/mountinfo | wc -l
70
grep docker /proc/9736/mountinfo | grep -o "/run/docker/netns/" | wc -l
17
grep docker /proc/9736/mountinfo | grep -o "/var/lib/docker/containers/" | wc -l
18
grep docker /proc/9736/mountinfo | grep -o "/var/lib/docker/devicemapper/mnt/" | wc -l
33
mariadbλ₯Ό λ€μ μμν ν λ§μ΄νΈ ν¬μΈνΈλ₯Ό ν΄μ νμ§λ§ μμν λ λ§μ΄νΈ ν¬μΈνΈλ₯Ό λ§μ΄ μ‘μμ΅λλ€.
grep docker /proc/16367/mountinfo | wc -l
52
λλΆλΆμ μ κ±° μ€ν¨λ λ§μ΄νΈ μ§μ (λ°λΌμ device)μ΄ λ€λ₯Έ λ§μ΄νΈ λ€μμ€νμ΄μ€μμ μ¬μ© μ€μ΄κΈ° λλ¬Έμ λ°μν©λλ€. 컀λμ΄ μΆ©λΆν μλ‘λ€λ©΄ μ μλ PRμ λ°λ₯΄λ©΄ μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ λ° λμμ΄ λ κ²μ΄λΌκ³ μκ°ν©λλ€.
https://github.com/moby/moby/pull/34573
μ΄μ 컀λμ μ€ν μ€μΈ κ²½μ° λ§μ΄νΈ λμ λ¬Έμ λ₯Ό μ€μ΄κΈ° μν΄ νλ¬κ·ΈμΈ νΈμΆ oci-umountλ₯Ό μμ±νμ΅λλ€.
@rhvgoyal μ΄ PRμ ν¬ν¨ν docker 릴리μ€μ λν κ³νμ΄ μμ΅λκΉ? μ°λ¦¬λ μ¬μ ν μ κΈ°μ μΌλ‘ driver "devicemapper" failed to remove root filesystem
λ₯Ό μ²λ¦¬νκ³ μμ΅λλ€.
CentOS Linux λ¦΄λ¦¬μ€ 7.4.1708(μ½μ΄)
3.10.0-693.5.2.el7.x86_64
17.06.2-ce
λ§μΉ¨λ΄ μμ λ κ² κ°μ΅λλ€
Docker λ²μ 17.09.0-ceλ₯Ό μ€ν μ€μ΄λ©° μ¬μ ν λμΌν λ¬Έμ μ μ§λ©΄νκ³ μμ΅λλ€.
Oracle Linuxμμ μ΄ λ¬Έμ κ° κ°λ λ°μν©λλ€. docker λ²μ 17.03.1-ce(Oracle μ μ₯μμμ)
Linux server 4.1.12-103.3.8.1.el7uek.x86_64 #2 SMP Fri Sep 15 17:23:08 PDT 2017 x86_64 x86_64 x86_64 GNU/Linux
μμ λ΄μ©μ λͺ¨λ νλ‘μ νΈμ TDAμ μν΄ μμ λμμΌλ―λ‘ λΉλΆκ° λ³κ²½ν μ μμ΅λλ€.
λ€λ₯Έ νκ²½μ 90%λ Centos 7.3/7.4μ΄λ©° μ¬κΈ°μ λ¬Έμ κ° λ°μνμ§ μμ΅λλ€.
4.11.9μ μμΉ Linuxμμ Docker 17.05λ‘ μ΄ λ¬Έμ μ μΈμ€ν΄μ€λ₯Ό ν΄κ²°νμ΅λλ€.
~μ μν΄
docker rm -f [myContainer]
(νμμ κ°μ΄ driver "devicemapper" failed to remove root filesystem
μ€ν¨)ls /var/lib/docker/devicemapper/mnt/
μ΄λ‘ μΈν΄ 컨ν μ΄λκ° λ§μΉ¨λ΄ μ¬λΌμ‘μ΅λλ€(μ κ·Έλ°μ§λ νμ€νμ§ μμ).
@MonsieurWaveκ° λ³΄κΈ° μλ λ―ΏκΈ°μ§ μμ λ§νΌ, "ls" νΈλ¦μ λ€λ₯Έ λͺ¨λ κ²μ΄ μλνμ§ μμμ λ μλ²½νκ² μλνμ΅λλ€!
docker rm -f [container]
λ μ€ν¨λ₯Ό λ³΄κ³ νμ§λ§ κ²°κ΅μλ 컨ν
μ΄λμ νμΌ μμ€ν
μ μ 리ν©λλ€. ls
λͺ
λ Ήμ λΆμ μ²μ΄μ΄λ―λ‘ λͺ μ΄λ§ κΈ°λ€λ¦¬λ©΄ λ©λλ€. κ·Έλ¬λ κ·Έλ³΄λ€ λ λμ λ°©λ²μ MountFlags=slave
λ₯Ό μ¬μ©νλ κ²μ
λλ€. κ·Έλ¦¬κ³ κ°μ₯ μ’μ λ°©λ²μ devicemapperλ₯Ό λκ³ λμ overlay2λ₯Ό μ¬μ©νλ κ²μ
λλ€.
κ·Έλ¦¬κ³ κ°μ₯ μ’μ λ°©λ²μ devicemapperλ₯Ό λκ³ λμ overlay2λ₯Ό μ¬μ©νλ κ²μ λλ€.
μ°λ¦¬λ 1λ λκ² CentOS 7.x(νμ¬ 7.4)μμ Dockerλ₯Ό μ¬μ©ν΄ μμ΅λλ€. Dockerλ₯Ό μ²μ μ€μΉνμ λ λͺ¨λ μ¬λμ μ΅κ³ μ μ±λ₯κ³Ό μμ μ±μ μν΄ direct-lvmκ³Ό ν¨κ» devicemapperλ₯Ό μ¬μ©ν΄μΌ νλ€κ³ λ§νμ΅λλ€. https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/λ μ¬μ ν Docker EEμ ν¨κ» CentOSμμ devicemapperλ₯Ό μ¬μ©ν΄μΌ νλ€κ³ λ§ν©λλ€. λ€ννλ Docker CEλ₯Ό μ¬μ©νλ―λ‘ μ€λ²λ μ΄2λ‘ μ νν μ μμ΅λλ€. Docker μ¬λλ€μ΄ v1.13.0/1μμ CentOSμ devicemapperμμ overlay2λ‘μ κΈ°λ³Έκ° λ³κ²½μ μ½κ°μ ν‘νλ₯΄λ ν λ‘ μ΄ μλ κ²μ²λΌ λκ»΄μ§λλ€. CentOS 7μμ μ€λ²λ μ΄2 λ devicemapper(direct-lvm)μ μ±λ₯/μμ μ±μ λν νμ€ν μ λ³΄κ° μμ΅λκΉ? λ΄ κ΅¬κΈλ§μ λ§μ΄ μ°Ύμ§ λͺ»νλ€....
μ°λ¦¬λ μ¬κ³ CentOS 7.2 컀λ(3.10.x frankenstein)κ³Ό ν¨κ» μμ£Ό λμ μκ°μ 보λμ΅λλ€. λ§μ μΆ©λ. μ°λ¦¬λ κ°λ° νκ²½μμ Kubernetesλ₯Ό μ€ννκ³ μμκΈ° λλ¬Έμ 컨ν μ΄λ λ³λμ΄ λ§€μ° λμμ§λ§ λΉκ΅μ μ‘°μ©ν μ€μΉμμλ κΈ°λ³Έ CentOS + μ€λ²λ μ΄ μ½€λ³΄κ° λ§€μ° λΆμμ νλ€λ κ²μ μμμ΅λλ€. μ€λ²λ μ΄2λ‘ 4.10+ μ μ€νΈλ¦Ό 컀λμ μ€ννλ κ²μ΄ ν¨μ¬ μ’μ΅λλ€. μ΅μ CentOS 릴리μ€λ₯Ό μλνμ§ μμμ΅λλ€.
ext4 λλ "-n ftype=1"λ‘ ν¬λ§·λ XFSμΈ κΈ°λ³Έ νμΌ μμ€ν μ μ¬μ©ν΄μΌ ν©λλ€. νμμ΄ μλͺ»λ XFSκ° μλ κ²½μ° Dockerκ° μ€νλμ§λ§ κ²°κ³Όλ μμΈ‘ν μ μμ΅λλ€.
κ·Έλ, λλ μ€λ«λμ overlay2 λ‘ μ ννκ³ , μ΄ λ¬Έμ λ₯Ό μ μ³λκ³ devicemapperκ° μΌλ°μ μΌλ‘ dockerμ λν λ§€μ° μ΄μ ν μ€ν λ¦¬μ§ λλΌμ΄λ²λΌλ κ²μ μ½μκΈ° λλ¬Έμ μ€λ²λ μ΄2
ntpdλ₯Ό λ€μ μμνλ©΄ λ¬Έμ κ° ν΄κ²°λμμ΅λλ€... λ무 νΌλμ€λ½μ΅λλ€. Centos7μ λ컀μ λν "κΆμ₯" daemon.json ꡬμ±μ΄ μμ΅λκΉ?
λͺ κ°μ§ κ°μ μ¬νμ΄ νμ΄νλΌμΈμ λ°λΌμ€κ³ μμ΅λλ€.
νΉν μ΄λ¬ν λ€λ₯Έ μμ€ν μλΉμ€μ λ¬Έμ λ λ§μ΄νΈ λ€μμ€νμ΄μ€ μ€μ (λ€λ₯Έ μμ€ν μλΉμ€μ©)κ³Ό μ체 λ§μ΄νΈλ₯Ό λΉκ³΅κ°λ‘ μ μ§νλ €λ λ컀μ μλμ κ²½μ μ‘°κ±΄μΈ κ²μΌλ‘ 보μ λλ€. 컨ν μ΄λ, λΆννλ λ€λ₯Έ κ³³μμ λμΆμ μΌμΌν€κ³ μ€μ λ‘ ν΄λΉ λ§μ΄νΈ μ§μ μ λν κ°μΈ μ°Έμ‘°λ₯Ό 보μ νκ² λλ―λ‘ μλμΌλ‘ λλ νλ‘μΈμ€κ° λ€μ μμλ λλ₯Ό μ μΈνκ³ λ ν΄λΉ λ€μμ€νμ΄μ€μμ λ§μ΄νΈ ν΄μ ν μ μμ΅λλ€.
λν runcμ docker λͺ¨λμμ MS_PRIVATE λ§μ΄νΈ μ νλ₯Ό μ¬μ©νμ¬ κ²½μ 쑰건μ μ²λ¦¬νκΈ° μν λͺ κ°μ§ μ΅κ·Ό λ³κ²½ μ¬νμ΄ μμ΅λλ€.
λ€μ λ²μ μ μλ²½ν κΉμ? μλ§ μλ κ²λλ€... νμ§λ§ μ λ μ΄κ²μ΄ λ λμμ§ κ²μΌλ‘ κΈ°λν©λλ€.
λλ docker 12.1.1μ μ¬μ©νμ¬ @ceecko μ λκ°μ κ²μ μ»μμ΅λλ€. μ§κΈ μ λ°μ΄νΈν κΈ°νκ° μμ΅λλ€. λμ€μ μ΄λκ°μ μμ λ©λκΉ? λΉ λ₯Έ μμ μ νλ‘μΈμ€λ₯Ό μ’ λ£νκ³ λ컀 μλΉμ€λ₯Ό λ€μ μμνλ κ²μ΄μ§λ§..
μ΄ λ²μ μ --live-restore
ν¬ν¨νμ¬ λ¬Έμ λ₯Ό μμ ν ν΄κ²°ν©λλ€.
CentOS 7.4.1708 (3.10.0-693.5.2.el7.x86_64)
Docker 17.09.0-ce
@esabol CentOS 7.4λ‘ μ κ·Έλ μ΄λν ν
μ°Έκ³ : docker info
λ μ΄ νΉμ μ΅μ
μμ΄ XFSλ₯Ό ν΅ν΄ μ€λ²λ μ΄2λ₯Ό μ€ννλ κ²μ μ§μλμ§ μμΌλ©° ν₯ν 릴리μ€μμ μ κ±°λ κ²μ΄λΌλ ν° κ²½κ³ λ₯Ό νμν©λλ€.
https://github.com/moby/moby/pull/34573 μμ μ¬νμ΄ 17.09.1-ce, 17.12.0-ce λ²μ μμ 릴리μ€λ¨
@jcberthon μ°λ¦¬λ μ΅κ·Όμ μ΄μμ docker run --rm
νλ λ¨μ ν
μ€νΈμ λ²€μΉλ§ν¬μμ μ±λ₯μ΄ 40% ν₯μλμμ΅λλ€. devmapperλ₯Ό μν λ§μ§λ§ λΉ¨λλ λ¬Έμ #20401μ΄μμ΅λλ€. μ€λ²λ μ΄2λ‘ μ ννλ κ²μ 그리 μ΄λ ΅μ§ μμμ§λ§ λμ€ν¬ μ¬μ 곡κ°μ΄ μΆ©λΆν©λλ€. μ λ docker save
λͺ¨λ μ΄λ―Έμ§λ₯Ό tarballλ‘, λ λ€λ₯Έ μ€ν¬λ¦½νΈλ₯Ό docker load
λͺ¨λ tarballμ μμ±νμ΅λλ€. μ°λ¦¬λ 2-3μκ° λ§μ λλ¬λ€. λ²κ±°λ‘κ³ λμ€ν¬ 곡κ°μ΄ μΆ©λΆνμ§ μμ κ²½μ°μ κ°λ₯νμ§λ§ μ₯κΈ°μ μΌλ‘ λ³Ό λ κ°μΉκ° μλ€κ³ μκ°ν©λλ€. νμ΄μ λΉλλ€!
μ΄κ²μ 17.12.1μμ μμ λμμ΅λλ€.
κ°μ¬ν©λλ€.
μμ λ¦΄λ¦¬μ€ μ μ 물리μ λ Έλλ₯Ό μ¬λΆν νλ©΄ λ¬Έμ κ° ν΄κ²°λ©λλ€.
@ravilr @KevinTHU κ·νμ μ견μ λν΄ https://github.com/moby/moby/issues/27381#issuecomment -277148106 λ° https://github.com/moby/moby/issues/27381#issuecomment -267547259 κ΄μ°°νμ΅λλ€. RHELμ λ컀 μ λ νμΌμ PrivateTmp=true
λ‘ λ³κ²½νλ©΄ λ¬Έμ λ ν΄κ²°λ©λλ€. λΉμ·ν κ²μ λ³Έ μ μ΄ μμ΅λκΉ?
@MohdAhmad λ
λλ κ°μ λ¬Έμ λ₯Ό μ°Ύμ΅λλ€. ν΄λλ₯Ό μ΄μμΌλκΉ μ°½μ λ«μμ ν΄κ²°νμΈμ.
κ°μ₯ μ μ©ν λκΈ
λ€μμμ λμΌν λ¬Έμ κ° λ°μνμ΅λλ€.
systemctl restart ntpd
μννλ©΄ λ¬Έμ κ° μ¦μ ν΄κ²°λμμ΅λλ€.