有没有办法部署docker但让它继续使用相同的容器,而不是在每次部署重启时创建一个新容器?
所以问题是我们需要使用相同的容器,因为我们以Linux用户帐户信息的形式存储状态,因此如果创建了一个新容器,该应用程序将丢失所有以前的Linux用户帐户数据。我知道这不理想,我们正在努力消除这一要求。 我试过“docker stack deploy”但是在重启时,它会破坏当前容器并每次创建一个全新的容器。
我们目前正在使用与此配合使用的docker-compose,但我们希望转移到不同机器上的工作人员的分布式计算设置。
docker-可以跨多个不同的主机组合工作吗? kubernetes可以处理这种部署方式,还是我必须手动启动docker容器?
答案 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