常见问题解答
1 关于 docker 和 docker-compose 的安装问题
以 Debian
系统为例,其他系统对应更改包管理器命令。
-
Debian/Ubuntu: apt-get
-
RedHat/CentOS: yum
1.1 docker 安装
- 国内服务器
apt-get update -y && apt-get install -y curl wget && curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
- 境外服务器
apt-get update -y && apt-get install -y curl wget && curl -fsSL https://get.docker.com | bash -s docker
1.2 docker-compose 安装
- 国内服务器
curl -L "https://ghproxy.com/https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
- 境外服务器
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
如果
/usr/local/bin
不在环境变量 PATH 里
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
检查 docker-compose
版本
docker-compose --version
2 docker 更换镜像加速器
hub.docker.com
似乎被 DNS 污染了。国内服务器推荐更换镜像加速器(境外服务器不推荐)。
国内服务器应用安装未成功,大概率是网络问题镜像下载未成功而导致。
关于源的有效性,可以参考以下这个开源项目,进行更改
2.1 命令行方式
echo >/etc/docker/daemon.json
cat>/etc/docker/daemon.json <<END
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://docker.m.daocloud.io",
"https://ghcr.io",
"https://mirror.baidubce.com",
"https://docker.nju.edu.cn"
]
}
END
systemctl restart docker
2.2 面板方式
具体可以参照官方文档说明
1Panel
面板点击 “容器” > “配置” > “基础配置” > “镜像加速选项旁的设置”
输入以下加速器地址:
https://hub-mirror.c.163.com
https://docker.m.daocloud.io
https://ghcr.io
https://mirror.baidubce.com
https://docker.nju.edu.cn
3 应用端口访问问题
新版本特性,创建应用的时候会在映射端口那边添加一个 ${HOST_IP}
变量
- 不勾选
端口外部访问
,会生成一个127.0.0.1:port
的配置,所以不会开放端口访问; - 勾选了
端口外部访问
,会生成一个0.0.0.0:port
的配置,则会开放端口访问。 - 勾选了
端口外部访问
,且还开启了左边功能列表的ufw/firewalld
防火墙,还需要手动修改防火墙设置放行相关端口。
4 自定义应用与商店应用的连接问题
商店的桥接网络模式的应用,默认加入到了 1panel-network
网络
为方便自定义的应用与商店应用通信,应该自定义应用也添加进网络。
4.1 docker 运行的应用
应该添加参数如下:
--network 1panel-network
例子:
docker run -d \
--name=grafana \
-p 3000:3000 \
--network 1panel-network \
--restart always \
grafana/grafana
4.2 docker-compose 运行的应用
应该添加参数如下:
networks:
- 1panel-network
networks:
1panel-network:
external: true
例子:
version: '3'
services:
grafana:
image: grafana/grafana
container_name: grafana
ports:
- 3000:3000
restart: always
networks:
- 1panel-network
networks:
1panel-network:
external: true
4.3 现有容器加入网络
运行命令:
docker network connect 1panel-network <容器id或名字>
5 关于一些应用部署问题的解答
5.1 alist
账户密码
容器功能界面找到 alist
的容器,点击终端连接到容器内部,手动执行命令:
./alist admin
5.2 halo
的访问
- 本机域名访问
安全考虑,则没必要放行端口,即 端口外部访问
选项,没有必要开启,
端口外部访问
选项在创建应用时,以及应用参数编辑功能里可以发现。
然后新建反代网站或静态网站再添加反向代理即可。
但"外部访问地址"要和新建的反代网站一致
即 外部访问地址
填的 https://example.com
那么新建的反向代理网站也需要域名example.com
,并且开启https
- 端口访问
需要端口访问,则 端口外部访问
选项,需要开启,
端口外部访问
选项在创建应用时,以及应用参数编辑功能里可以发现。
如果开启了左边功能列表的ufw/firewalld
防火墙,还需要手动修改防火墙设置放行相关端口。
同样"外部访问地址"要和具体的IP:端口一致
即 外部访问地址
填的 https://192.168.1.8:10010
那么就只能以 https://192.168.1.8:10010
进行访问,注意这里也严格要求区分 http
和 https
5.3 flarum
的访问
外部访问地址
相关说明参照 halo