天天看点

[Docker系列·13] 使用fig启动容器

fig的使用非常简单,只需要配置<code>fig.yml</code>并在同目录下执行<code>fig up -d</code>即可启动容器。

配置中的两个镜像的创建,请参考本系列前面的文章:

可以使用fig自己的命令检测:

也可以使用docker命令检测:

在另外一台主机访问docker的host,测试结果如下:

[Docker系列·13] 使用fig启动容器

虽然使用fig简单,但小白还是有写坑要踩。这里列举如下。

当系统没有指定docker_host参数时,执行fig命令会遇到如下错误。

解决的办法是<code>export</code>该参数到当前终端或<code>.bashrc</code>:

ubuntu默认安装的docker没有启动tcp监听,因此这个约定俗成的端口4243也是要设置的。 可以在启动docker时加参数,但如果是执行<code>sudo service docker start</code>的话,还是要设置一下docker_opts:

配置<code>/etc/default/docker</code>:

-api-enable-cors:这个参数的意义是允许ajax跨域资源共享。

tcp://0.0.0.0:4243:这个参数的意义是让docker监听所有4243端口的tcp请求(当然http是基于tcp之上的,remote api也是走这个端口) -

其他启动相关的配置参见:<code>/etc/init/docker.conf</code>

ubuntu默认是不允许使用cgroup做内存等资源的调配的,如果你在docker的配置文件<code>dockerfile</code>或者fig的配置文件<code>fig.yml</code>中设置了容器的启动内存,会遇到如下警告:

解决的办法是设置grub参数:

配置<code>/etc/default/grub</code>:

然后执行<code>sudo update-grub</code>,重启系统生效。

坑还不止于此,这是我踩过的。关于docker和fig的砖今天先抛到这里。

继续阅读