跳转至

Docker compose问题

问题1 docker-compose: 未找到命令

现象

image.png

如果直接在上面提示中输入y,那么会默认安装1.x版本的docker-compose工具,但最新的已经是2.x,不是最优解(且会引入很多的Python包,但这些你可能本身并不需要)

image.png

image.png

分析

实际上,按照上述步骤,不论是在线还是离线的方式,我们都已经安装好了docker-compose工具,只是以插件形式

image.png

image.png

方法

此时其实只需要写一个脚本将docker-compose命令与插件链接即可,执行下面的命令

Bash
sudo vim /usr/bin/docker-compose

然后粘贴下面内容到脚本中

Bash
#! /bin/bash
docker compose "$@"

最后增加可执行权限

Bash
sudo chmod +x /usr/bin/docker-compose

成功

image.png

问题2 启动时创建网络错误 Unable to enable SKIP DNAT rule

现象

Bash
1
2
3
4
[+] Running 0/0
  Network immich_default  Error                                                                                                           0.0s
failed to create network immich_default: Error response from daemon: Failed to Setup IP tables: Unable to enable SKIP DNAT rule:  (iptables failed: iptables --wait -t nat -I DOCKER -i br-aa6338f54ea4 -j RETURN: iptables: No chain/target/match by that name.
 (exit status 1))

image.png

分析

系统的防火墙规则进行了变更,或者防火墙被禁用/启用

方法

重新启动Docker服务即可

Bash
sudo systemctl daemon-reload
sudo systemctl restart docker

参考