我有一个OSX,我想知道是否可以在操作系统重新启动之间保留容器。我目前正在使用我的机器托管我的代码并使用它来安装Node.js和Golang等平台或语言。我想在容器内创建我的环境,并将我的代码保留在其中,但如果我的机器重新启动,则不会丢失容器。可能吗?我找不到任何相关的东西。
答案 0 :(得分:2)
docker run -dit --restart always my_container
您丢失了数据,因为
可以将数据存储在容器的可写层中, 但有一些缺点:
当该容器不再运行时,数据不会保留,并且 如果另一个数据可能很难从容器中获取数据 过程需要它。
https://docs.docker.com/storage/
所以这是解决方案。
Docker提供了三种不同的方法将数据安装到容器中 Docker主机:卷,绑定挂载或tmpfs卷。什么时候进去 怀疑,数量几乎总是正确的选择。继续读 有关将数据安装到的每种机制的更多信息 容器
https://docs.docker.com/storage/#good-use-cases-for-tmpfs-mounts
在这里您可以如何持久保存nodejs代码和golang代码
docker run -v /nodejs-data-host:/nodejs-container -v /go-data-host:/godata-container -dit your_image
根据包的运行时(nodejs和go),如果你的容器因为存储在docker镜像中而被杀死或停止,它们会持续存在。