如何升级docker容器与以前的networking和卷?

我正在开发一个应用程序,我们popup包含容器和自定义networking的容器 。

我需要添加pipe理员能够将正在运行的容器升级到最新版本的function。 所以我希望能够从中获取各种信息,popup一个新的容器与旧的configuration。

然而,我不知道我真的需要抓住旧的容器,以及如何使用它。 例如,

  • NetworkSettings.Networks足够了还是在数据的其他地方有networking信息?
  • 如何使用Mounts的信息Mounts

      { "Type": "volume", "Name": "841d6a1709b365763c85fb4b7400c87f264d468eb1691a660fe81761da6e374f", "Source": "/var/lib/docker/volumes/841d6a1709b365763c85fb4b7400c87f264d468eb1691a660fe81761da6e374f/_data", "Destination": "/home/mast/.ssh", "Driver": "local", "Mode": "", "RW": True, "Propagation": "" } 

我仍然需要检查networking部分,但使用前一个Source的完整path作为新源来安装卷。

更新volumes是一个挂载点列表(目标不是源)。

 import docker containers = docker_api.containers() docker_api.create_container( image='docker.site.fr:5000/coaxis/coaxisopt_daemon:latest', volumes=['/home/mast/.ssh', '/etc/mast'], host_config=docker_api.create_host_config( binds={ "/var/lib/docker/volumes/841d6a1709b365763c85fb4b7400c87f264d468eb1691a660fe81761da6e374f/_data": { 'bind': "/home/mast/.ssh", 'mode': 'rw' }, "/var/lib/docker/volumes/002730cbb4dd9b37ad808915a60081508885d533fe003b529b8d0ab4fa46e92e/_data": { 'bind': "/etc/mast", 'mode': 'rw' } } )) 
Interesting Posts