Docker部署选项但保留相同的容器

时间:2018-05-15 16:36:06

标签: docker

有没有办法部署docker但让它继续使用相同的容器,而不是在每次部署重启时创建一个新容器?

所以问题是我们需要使用相同的容器,因为我们以Linux用户帐户信息的形式存储状态,因此如果创建了一个新容器,该应用程序将丢失所有以前的Linux用户帐户数据。我知道这不理想,我们正在努力消除这一要求。 我试过“docker stack deploy”但是在重启时,它会破坏当前容器并每次创建一个全新的容器。

我们目前正在使用与此配合使用的docker-compose,但我们希望转移到不同机器上的工作人员的分布式计算设置。

docker-可以跨多个不同的主机组合工作吗? kubernetes可以处理这种部署方式,还是我必须手动启动docker容器?

1 个答案:

答案 0 :(得分:0)

为了将数据保留在容器中,您必须定义一个卷。

通过这种方式,您可以重新创建或扩展应用程序并保留数据。

可以通过以下方式在docker-compose文件中定义卷:

volumes:
# Just specify a path and let the Engine create a volume
- /var/lib/mysql

# Specify an absolute path mapping
- /opt/data:/var/lib/mysql

# Path on the host, relative to the Compose file
- ./cache:/tmp/cache

# User-relative path
- ~/configs:/etc/configs/:ro

# Named volume
- datavolume:/var/lib/mysql