iT邦幫忙

0

部署 harbor 时,nginx 容器一直起不来

通过 docker container logs nginx,查看容器日志:

Error response from daemon: configured logging driver does not support reading

我证书用的是 windows 证书服务器签发的证书,导出来 pfx 格式后,通过 OpenSSL 进行转换的:

openssl pkcs12 -in [yourfile.pfx] -nocerts -out [drlive.key]
openssl pkcs12 -in [yourfile.pfx] -clcerts -nokeys -out [drlive.crt]

得到证书后,将证书上传到 /data/certs 目录;

然后修改 harbor.yml 文件,并更改了:

hostname: harbor.test.local
certificate: /data/certs/sh.crt
private_key: /data/certs/sh.key

然后通过 install.sh 脚本进行部署。在安装过程也没有看到什么警告或错误,并且顺序看到:

Creating harbor-core ... 
Creating harbor-jobservice ... 
Creating nginx ... 
✔ ----Harbor has been installed and started successfully.----

我用的安装包是离线安装包。

这个是怎么回事?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
screenleon
iT邦新手 1 級 ‧ 2021-07-07 13:54:34
最佳解答

我不確定你是不是因為 cert key 是 root權限,導致container無法mount
我是使用下面方法

volumes:
    - Cert_KEY_Path:YOUR_CONTAINER_KEY_PATH:ro
看更多先前的回應...收起先前的回應...
as900 iT邦研究生 4 級 ‧ 2021-07-07 15:52:30 檢舉

你是说证书文件的权限吗?刚刚看了,证书确实只有 root 用户有权限读写,其他用户权限为空。我更改了证书权限,其他用户可读,重新运行 install.sh 脚本,还是一样的。

这个是我 compose 的证书配置:

- /data/secret/cert:/etc/cert:z

因為是root權限
請在資料夾尾端使用 :ro 讓資料夾可以讀取
https://docs.docker.com/storage/volumes/#use-a-read-only-volume

as900 iT邦研究生 4 級 ‧ 2021-07-08 09:05:52 檢舉

请问这个需要在 harbor.yaml 文件哪里修改?我在里面就找到了一个 /data 的挂载。

- /data/secret/cert:/etc/cert:ro
這樣試試看

as900 iT邦研究生 4 級 ‧ 2021-07-09 09:13:46 檢舉

直接改 docker-compose 文件吗?
改了 docker-compose 文件,还是一样的结果。

你先進入你目前使用的container
檢查資料有沒有mount成功
假如有看到資料 那應該就是別的問題了

自簽憑證 可以考慮 make-ssl-cert generate-default-snakeoil
後續還有其他的log可看嗎

as900 iT邦研究生 4 級 ‧ 2021-07-14 10:36:45 檢舉

容器没有起来,一直在 restart 的状态。
我试了自签名的证书,竟然是好的/images/emoticon/emoticon02.gif

我沒接觸過轉換證書格式
我之前是用letsencrypt 生成證書後直接套用
所以這方面沒辦法給你太多幫助

as900 iT邦研究生 4 級 ‧ 2021-07-14 13:53:15 檢舉

就只能先用自签名的了,已经可以用了,非常感谢

有幫助到你的話 給個最佳解答八/images/emoticon/emoticon41.gif

as900 iT邦研究生 4 級 ‧ 2021-08-25 17:31:13 檢舉

不好意思,标记的有点晚了。刚刚换了工作,所哟最近没有怎么登录。

我要發表回答

立即登入回答