docker run -it -p 127.0.0.1::2368 ghost bash
docker ps -a
adolph@geek:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
84802ccaa8f7 ghost:latest "/entrypoint.sh bash 32 seconds ago Up 31 seconds 127.0.0.1:32769->2368/tcp kickass_bell
adolph@geek:~$
在浏览器输入localhost:32769
后无法连接到资源
想知道到底是哪里除了问题?
shell
#build ghost image FROM adolphlwq/ubuntu:14.04_64_base_image MAINTAINER adolphlwq <nalan3015@126.com> ENV REFRESHED_AT 2015-6-9 RUN apt-get update && apt-get -yqq upgrade #install node RUN apt-get install -yqq nodejs npm wget unzip RUN ln -s /usr/bin/nodejs /usr/bin/node #install ghost-zh RUN cd /opt/ && wget http://dl.ghostchina.com/Ghost-0.6.3-zh-full.zip && unzip -uo Ghost-0.6.3-zh-full.zip -d ghost && rm Ghost-0.6.3-zh-full.zip #initial ghost RUN cd /opt/ghost && npm install --production #workdir WORKDIR /opt/ghost/ #expose port 2368 EXPOSE 2368 CMD npm start
然后我又看了Daocloud上ghost的镜像Dockerfile,核心的地方是类似的,不知道我的问题出在哪,端口映射一直失败
daocloud上ghost的Dockerfile
Terdapat
fail dalam
config.example.js
direktori fail hantu untuk mengkonfigurasi parameter yang berkaitan:Inti masalah terletak pada konfigurasi item pelayan. Lalai ialah
localhost
Nampaknya localhost lalai hos umum sepadan dengan 127.0.0.1 (anda juga boleh mengubah suainya dalam/etc/hosts
). localhost ialah IP palsu yang hanya boleh diakses secara tempatan.0.0.0.0
adalah serupa dengan aksara kad bebas*
dan boleh memadankan mana-mana IP. Lihat jawapan ini untuk butiran.Jadi anda harus mengubah suai item konfigurasi config.example.js dan menukar alamat yang terikat pada pelayan kepada
0.0.0.0
.Akhir sekali, saya juga membuat imej docker hantu, dan juga menggunakan proksi yang dikonfigurasikan oleh nginx. Let's Encrypt digunakan untuk menyulitkan https, anda boleh merujuk perkara berikut:
Imej Docker:qBlog
blog saya
Tiada siapa yang menjawab. Saya juga mengalami masalah yang sama. Imej nginx yang saya buat sendiri juga mempunyai port EXPOSE dalam fail Docker Semasa menjalankan imej, walaupun parameter -p tidak digunakan, imej itu masih boleh diakses melalui IP perkhidmatan hos, dan tiada satu pun daripada mereka berkuat kuasa apabila parameter -p ditentukan untuk membuka pemetaan port. Tandakan, saya akan cari jawapannya dahulu