![](/img/trans.png)
[英]Failed to connect to github.com port 443: Connection refused in terminal MacBook
[英]Failed to connect to github.com port 443: Connection refused, Failed to Bootstrap, Discourse Docker
在本地安裝的Discourse上從/var/docker
./launcher bootstrap app
運行我的./launcher bootstrap app
命令時,我收到此錯誤。
fatal: unable to access 'https://github.com/SamSaffron/pups.git/': Failed to connect to github.com port 443: Connection refused
FAILED TO BOOTSTRAP
以下是我的containers/app.yml
的內容。 我一直在使用本指南試圖讓它運行起來。 我聽說有些人因為iptables -L
包含阻止docker容器連接到互聯網的規則而拒絕HTTP連接的問題。 但它剛剛下載圖像。 所以我不明白。
##
## After making changes to this file, you MUST rebuild for any changes
## to take effect in your live Discourse instance:
##
## /var/docker/launcher rebuild app
##
## this is the all-in-one, standalone Discourse Docker container template
templates:
- "templates/cron.template.yml"
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/sshd.template.yml"
- "templates/web.template.yml"
## which TCP/IP ports should this container expose?
expose:
- "127.0.0.1:20080:80" # fwd host port 80 to container port 80 (http)
- "2222:22" # fwd host port 2222 to container port 22 (ssh)
params:
## Which Git revision should this container use?
version: HEAD
env:
## How many concurrent web requests are supported?
## With 2GB we recommend 3-4 workers, with 1GB only 2
# UNICORN_WORKERS: 3
##
## List of comma delimited emails that will be made admin on signup
DISCOURSE_DEVELOPER_EMAILS: <%= ENV['EMAIL_ADDRESS'] %>
##
## The domain name this Discourse instance will respond to
DISCOURSE_HOSTNAME: 'localhost'
##
## The mailserver this Discourse instance will use
DISCOURSE_SMTP_ADDRESS: smtp.gmail.com
DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_USER_NAME: <%= ENV['GMAIL_USERNAME'] %>
DISCOURSE_SMTP_PASSWORD: <%= ENV['GMAIL_PASSWORD'] %>
##
## the origin pull CDN address for this Discourse instance
# DISCOURSE_CDN_URL: //discourse-cdn.example.com
## These containers are stateless, all data is stored in /shared
volumes:
- volume:
host: /var/docker/shared/standalone
guest: /shared
## The docker manager plugin allows you to one-click upgrade Discouse
## http://discourse.example.com/admin/docker
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
## Remember, this is YAML syntax - you can only have one block with a name
run:
- exec: echo "Beginning of custom commands"
## If you want to configure password login for root, uncomment and change:
#- exec: apt-get -y install whois # for mkpasswd
## Use only one of the following lines:
#- exec: /usr/sbin/usermod -p 'PASSWORD_HASH' root
#- exec: /usr/sbin/usermod -p "$(mkpasswd -m sha-256 'RAW_PASSWORD')" root
## If you want to authorized additional users, uncomment and change:
#- exec: ssh-import-id username
#- exec: ssh-import-id anotherusername
- exec: echo "End of custom commands"
- exec: awk -F\# '{print $1;}' ~/.ssh/authorized_keys | awk 'BEGIN { print "Authorized SSH keys for this container:"; } NF>=2 {print $NF;}'
你是代理人嗎? 你檢查過DNS設置了嗎? 這是我必須要做的,以使其在/etc/default/docker
:
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 --dns x.x.x.x"
如果您不添加DNS(可以使用nslookup
找到它),則可能無法解析GitHub的名稱。 但是,由於您嘗試連接並未明確返回未解析的名稱,我認為您並不擔心這里。 但奇怪的是,我必須這樣做才能讓它發揮作用。 對於其他人,我已經提到了在GitHub上填寫的問題中要做什么: https : //github.com/discourse/discourse_docker/issues/79
編輯:我糾正了這一點,沒有ln,它應該是'in'。 正如我在GitHub的問題中所說,代碼中缺乏代理考慮。 但是你有代理或直接訪問網絡? 我打賭你有代理人。 如果是這樣,請在我提供的鏈接中使用我的解決方案。 基本上,如果沒有在話語圖像的環境變量中添加HTTP_PROXY,那么依賴它的命令就不會起作用(就像在gem命令的情況下一樣)。
例:
DISCOURSE_SMTP_ADDRESS: smtp.mandrillapp.com # (mandatory)
HTTP_PROXY: http://x.x.x.x:3128/ # my add
DISCOURSE_SMTP_PORT: 587 # (optional)
DISCOURSE_SMTP_USER_NAME: 'xx@xx.com' # (optional)
DISCOURSE_SMTP_PASSWORD: Password # (optional)
另外,git有自己的指定代理的方式,所以我在腳本中添加它以使其運行。 否則,git將被卡住並且當它將嘗試從存儲庫拉出時會發生超時(似乎是你的情況)。
話語發射器腳本的替換:
run_command="$run_command git pull &&"
至
run_command="$run_command git config --global http.proxy http://x.x.x.x:3128/ && git pull &&"
和/或(也應該工作,事實上,如果我沒記錯的話,我必須做兩個......)
/bin/bash -c "$run_command") \
至
/bin/bash -c "git config --global http.proxy http://x.x.x.x:3128/;$run_command") \
更清楚? 關於dns,docker在其配置文件中配置了很多東西。 但令我驚訝的是,代理配置似乎從未被考慮過。但是,dns部分很有趣,因為我得到了名稱解析錯誤,盡管已經配置了公共DNS。 所以我添加了我公司的dns,神奇地解決了這個問題。 但我不認為這是你的情況,我提到這是為了以防萬一......
嘗試在重試之前將SSH密鑰添加到Github
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.