最近又重拾docker遇到不少问题。
1)Is docker daemon running on this host?
参考了以下网址得到解决:
https://www.cnblogs.com/IamThat/p/6049436.html
对于我来说有效的方法是:
service docker start //启动docker service
之后就可以了。
2)docker compose的安装:
因为项目需要,首次使用compose. 先要安装docker compose工具链,可以参考这个教程:
https://www.cnblogs.com/senlinyang/p/8856975.html
官网:
https://docs.docker.com/glossary/?term=compose
https://docs.docker.com/compose/reference/build/
docker compose能完成很多复杂的配置,在这里我遵循比较简单的工作流,新建一个文件夹,然后复制了一个compose.yml文件和一个.env文件(不需要文件名),就可以build一个container了(我直接找了两个模板,稍加修改就build了)。.env文件里定义了一些环境变量的位置,.yml文件里可以引用这些环境变量。.yml文件可以完成很多复杂的配置,这里我用到的主要是指定image,将container里的文件夹和系统里的文件夹进行映射,可以双向修改。build的命令:
docker-compose up -d <container的名字>
3) no space left on device
这个问题出现的原因是我试图pull一个超级大的image到本地。默认的docker映射目录是:
/var/lib/docker
在这期间查了很多博客,接触了几个查剩余空间,inode数目的命令之类。比如du sh * 可以显示当前文件夹下每个文件的占用位置,又比如df可以显示每个盘分配的空间等等。我这次的问题很单纯,就是/var下的空间不够。虽然有一些更改设置的方法,但是我没有成功。我这里,就简单的给/var/lib/docker建立了一个软链接,映射到别的盘就解决了。
查询空间的方法:
https://www.cnblogs.com/aspirant/p/3604801.html
修改挂载位置及建立软链接的方法:
https://blog.csdn.net/wenwenxiong/article/details/78728696
service start是需要root权限的。
4) Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
我遇到这个问题的时候是有段时间没用docker了。然后docker image ls 就出现了这个信息。
解决方法:
service docker start //启动docker service