Docker新用户技巧

导航到

本文是为了配合“使用Loud ML & Docker进行时间序列预测将机器学习模型应用于InfluxDB”一文,为Docker新手而写。

我通常对项目过于乐观地期待它们“多么容易”完成。这可能是由于与知识渊博且支持我的人一起工作,让我觉得任何事都是可能的。我对Docker新手,并认为使用Docker会是一件轻而易举的事(向@noahcrowley致敬,他耐心地帮助了我)。结果发现,学习曲线有点陡。为了帮助您快速掌握,我想分享我所犯的错误以及如何避免它们。

<figcaption> 第一天后可爱的Docker鲸鱼开始看起来像什么</figcaption>

错误一: 使用docker container ls列出运行中的容器。 提示: 为什么打那么多字?使用docker ps列出运行中的容器,使用docker ps -a列出所有容器。

错误二: 我创建了一个配置错误的容器。我创建一个新的容器来修复我的错误。重复10次。最后我终于成功地创建了一个“好的”容器。 提示: 使用docker system prune删除所有未使用的容器、网络和镜像,并摆脱“坏的容器”。 提示: 使用--name命名容器,以便轻松找到您的容器。

错误三: 如果您没有指定容器名称,Docker将自动为您生成一个令人愉快而古怪的容器名称,如“flamboyant_kumbaya”或“funkadelic_oppasum”。Docker还将分配一个CONTAINER ID,如“d239a57b3730”。遗憾的是,我的拼写和复制粘贴技巧不太好。 提示: 通过CONTAINER ID的前3个字符来称呼docker容器。例如,使用docker rm d23来删除一个容器。

错误四:我没有为我的容器分配一个--name。我正在尝试通过用户定义的网桥网络静态IP将此容器连接到其他容器。尽管Docker为每个容器提供了一个CONTAINER ID和NAME,但这两个默认情况下都不是DNS可解析的。提示:为您的容器分配一个--name,使其可DNS解析。

错误五:我经常假设我的容器已经成功连接到彼此。提示:使用docker inspect $your_network查看您的容器是否已连接。另外,安装ping(使用apt-get update apt-get install iputils-ping)并确保您可以从一个容器ping到网络中的其他容器。

错误六:当尝试将某些目录绑定到Docker时,我会遇到这个错误

The paths /var/folders/zz/... and /var/folders/zz/... are not shared from OS X and are not known to Docker. You can configure shared paths from Docker -> Preferences... -> File Sharing.

提示:使用Docker的文件系统共享(osfx),添加您需要的路径,然后重新启动Docker。

开始您的旅程时,我希望您对Docker的看法

我希望这篇教程能帮助您开始使用Docker。如果您有任何问题,请在社区网站上发布,或在@InfluxDB上发推文。