我在我的机器上以 snap 方式安装了 docker。我还用 snap 安装了其他应用程序。我喜欢这些其他应用程序的自动更新功能。
问题出现在 docker snap 更新时,它会破坏我的容器网络。我在我的机器上运行 ELK 堆栈(elastic search、logstash、kibana),每次我都必须docker-compose down
这样做docker-compose up -d
才能使其恢复到工作状态。
据我所见,容器仍处于在线状态。我仍然可以通过我设置的端口访问它们,但它们无法相互通信。当我尝试访问 Kibana 时,它只会显示“Kibana 尚未准备好”页面。
我有3 条路径如何修复此问题:
从 snap 迁移至 docker。唯一的问题是,我在网上找不到可以做到这一点的资源。对我来说,这似乎是最好的选择。我不确定迁移卷将如何工作。
仅为 docker 禁用 snap。问题是你只能完全关闭或打开。没有办法通过一次点击禁用它。从我在谷歌上搜索到的信息来看,这是设计使然
docker-compose 选项?也许我遗漏了 docker-compose 文件中的某些内容?我将所有容器设置为在
restart: always
我的计算机上线时启动。
我在 Ubuntu 18.04 上运行
答案1
您可以添加软件源,以将最新的 Docker 作为常规包安装。查看说明这里。该包名为docker-ce
not docker
。