docker 修改容器运行参数
我们有时候在创建docker 容器的时候会忘记加某个参数,这个时候可以使用docker container update 命令将缺少的参数添加进去。
但是如果你想加的东西没办法通过这种方式加进去怎么办呢?
这时候就可以直接修改配置文件,首先找到你要修改的容器路径,容器路径在 /var/lib/docker/containers/容器id 目录下,根据容器id找到对应容器的目录。
比如要把宿主机的maven映射到容器中,并且能够在容器中执行,那么可以修改config.v2.json文件,这里可以找到env下的PATH变量,然后将映射进去的maven加入到后面就可以了。
但是修改之前我们要做一个事,就是停止容器,以及docker服务。
docker stop gitbucket //停止jenkins
systemctl stop docker.socket //记得停止这个服务,否则docker是没办法停止的
systemctl stop docker //停止docker
然后修改config.v2.json文件,修改完成之后再重新启动服务即可。
{
"StreamConfig": {},
"State": {
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"RemovalInProgress": false,
"Dead": false,
"Pid": 96771,
"ExitCode": 0,
"Error": "",
"StartedAt": "2023-01-27T16:51:28.665042338Z",
"FinishedAt": "2023-01-27T16:51:25.761331375Z",
"Health": null
},
"ID": "0e5d059f2d0a2f8a90cee0c105b9ee48ec9f1ec1b205ddcf0bb33996aea20bc0",
"Created": "2023-01-27T16:22:10.240933229Z",
"Managed": false,
"Path": "sh",
"Args": ["-c", "java -jar /opt/gitbucket.war --port=80"],
"Config": {
"Hostname": "0e5d059f2d0a",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"29418/tcp": {},
"8080/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": ["TZ=Asia/Shanghai", "PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "LANG=en_US.UTF-8", "LANGUAGE=en_US:en", "LC_ALL=en_US.UTF-8", "JAVA_VERSION=jdk8u292-b10", "JAVA_HOME=/opt/java/openjdk"],
"Cmd": ["sh", "-c", "java -jar /opt/gitbucket.war"],
"Image": "gitbucket/gitbucket",
"Volumes": {
"/gitbucket": {}
},
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"maintainer": "Naoki Takezoe \u003ctakezoe [at] gmail.com\u003e"
}
},
"Image": "sha256:2efe68beac20769935a889a18231414b975e28c1226e77190dfa1c441b886a53",
"NetworkSettings": {
"Bridge": "",
"SandboxID": "73acb3a41214f7eae94fbee2495706e0f8f48089c8383f08854aadf77cf78f3c",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Networks": {
"macnet": {
"IPAMConfig": {
"IPv4Address": "192.168.10.30"
},
"Links": null,
"Aliases": ["0e5d059f2d0a"],
"NetworkID": "b13df5c9a8aa66467e471efacae323bc58563b321961d059d93aa750c335e19e",
"EndpointID": "8375195e9698b9f7b782a6a2514cdd7adad550aab34dd6069232f2c130d7d8df",
"Gateway": "192.168.10.3",
"IPAddress": "192.168.10.30",
"IPPrefixLen": 24,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:c0:a8:0a:1e",
"DriverOpts": null,
"IPAMOperational": false
}
},
"Service": null,
"Ports": {},
"SandboxKey": "/var/run/docker/netns/73acb3a41214",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"IsAnonymousEndpoint": false,
"HasSwarmEndpoint": false
},
"LogPath": "/var/lib/docker/containers/0e5d059f2d0a2f8a90cee0c105b9ee48ec9f1ec1b205ddcf0bb33996aea20bc0/0e5d059f2d0a2f8a90cee0c105b9ee48ec9f1ec1b205ddcf0bb33996aea20bc0-json.log",
"Name": "/gitbucket",
"Driver": "overlay2",
"OS": "linux",
"MountLabel": "",
"ProcessLabel": "",
"RestartCount": 0,
"HasBeenStartedBefore": true,
"HasBeenManuallyStopped": false,
"MountPoints": {
"/etc/localtime": {
"Source": "/etc/localtime",
"Destination": "/etc/localtime",
"RW": false,
"Name": "",
"Driver": "",
"Type": "bind",
"Relabel": "ro",
"Propagation": "rprivate",
"Spec": {
"Type": "bind",
"Source": "/etc/localtime",
"Target": "/etc/localtime",
"ReadOnly": true
},
"SkipMountpointCreation": false
},
"/gitbucket": {
"Source": "/mnt/user/appdata/gitbucket",
"Destination": "/gitbucket",
"RW": true,
"Name": "",
"Driver": "",
"Type": "bind",
"Propagation": "rprivate",
"Spec": {
"Type": "bind",
"Source": "/mnt/user/appdata/gitbucket",
"Target": "/gitbucket"
},
"SkipMountpointCreation": false
}
},
"SecretReferences": null,
"ConfigReferences": null,
"AppArmorProfile": "docker-default",
"HostnamePath": "/var/lib/docker/containers/0e5d059f2d0a2f8a90cee0c105b9ee48ec9f1ec1b205ddcf0bb33996aea20bc0/hostname",
"HostsPath": "/var/lib/docker/containers/0e5d059f2d0a2f8a90cee0c105b9ee48ec9f1ec1b205ddcf0bb33996aea20bc0/hosts",
"ShmPath": "",
"ResolvConfPath": "/var/lib/docker/containers/0e5d059f2d0a2f8a90cee0c105b9ee48ec9f1ec1b205ddcf0bb33996aea20bc0/resolv.conf",
"SeccompProfile": "",
"NoNewPrivileges": false,
"LocalLogCacheMeta": {
"HaveNotifyEnabled": false
}
}
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。