查看要修改的docker容器的id
[root@node1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ef8538453837 27aa51b3ca68 "/usr/bin/tini -- /u…" 35 hours ago Up 2 minutes 0.0.0.0:8099->8080/tcp, :::8099->8080/tcp, 0.0.0.0:50099->50000/tcp, :::50099->50000/tcp myjenkins
可以看到容器的ID是以ef8538453837开头的
停止docker容器
[root@node1 ~]# docker stop myjenkins
停止docker容器后再停止docker服务
需要停止docker服务,要不然后面修改配置文件有可能会不生效
[root@node1 ~]# systemctl stop docker
修改容器的hostconfig.json文件
[root@node1 ~]# vim /var/lib/docker/containers/ef8538453837529e1fb5a1b30dd7030595bd2f92704b5032c133d4e6da876bcc/hostconfig.json
修改内容如下
{
"Binds": [
"/usr/local/jenkins:/var/jenkins_home",
"/usr/local/maven:/usr/local/maven" // 前面为宿主机路径,后面为映射到docker容器的路径
],
"ContainerIDFile": "",
"LogConfig": { "Type": "json-file", "Config": {} },
"NetworkMode": "default",
"PortBindings": {
"50000/tcp": [{ "HostIp": "", "HostPort": "50099" }],
"8080/tcp": [{ "HostIp": "", "HostPort": "8099" }]
},
"RestartPolicy": { "Name": "always", "MaximumRetryCount": 0 },
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"ConsoleSize": [24, 211],
"CapAdd": null,
"CapDrop": null,
"CgroupnsMode": "private",
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "private",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": [],
"BlkioDeviceReadBps": [],
"BlkioDeviceWriteBps": [],
"BlkioDeviceReadIOps": [],
"BlkioDeviceWriteIOps": [],
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [],
"DeviceCgroupRules": null,
"DeviceRequests": null,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"OomKillDisable": null,
"PidsLimit": null,
"Ulimits": null,
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0,
"MaskedPaths": [
"/proc/asound",
"/proc/acpi",
"/proc/kcore",
"/proc/keys",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/proc/scsi",
"/sys/firmware"
],
"ReadonlyPaths": [
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
]
}
修改容器的config.v2.json文件
[root@node1 ~]# vim /var/lib/docker/containers/ef8538453837529e1fb5a1b30dd7030595bd2f92704b5032c133d4e6da876bcc/config.v2.json
添加如下内容
启动docker服务
[root@node1 ~]# systemctl start docker
查看修改后的容器的目录挂载情况
[root@node1 ~]# docker exec -it ef8538453837 bash
jenkins@ef8538453837:/$ ls /usr/local/maven/
LICENSE NOTICE README.txt bin boot conf lib
# 可以看到maven目录被映射进来了