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
Il y a un fichier
dans le répertoire de fichiers
config.example.js
ghost pour configurer les paramètres associés :Le cœur du problème réside dans la configuration de l'élément serveur. La valeur par défaut est
localhost
. Il semble que l'hôte local par défaut d'un hôte général corresponde à 127.0.0.1 (vous pouvez également le modifier dans/etc/hosts
). localhost est une fausse adresse IP accessible uniquement localement.0.0.0.0
est similaire au caractère générique*
et peut correspondre à n'importe quelle adresse IP. Voir cette réponse pour plus de détails.Vous devez donc modifier les éléments de configuration de config.example.js et changer l'adresse liée au serveur en
0.0.0.0
.Enfin, j'ai également créé une image docker de ghost, et j'ai également utilisé le proxy configuré par nginx. Let's Encrypt est utilisé pour chiffrer https, vous pouvez vous référer à ce qui suit :
Image Docker :qBlog
mon blog
Personne n'a répondu. J'ai également rencontré le même problème. L'image nginx que j'ai créée moi-même a également un port EXPOSE dans le Dockerfile, même si le paramètre -p n'est pas utilisé, l'image est toujours accessible. via l'adresse IP des services hôtes, et aucun d'entre eux ne prend effet lorsque le paramètre -p est spécifié pour ouvrir le mappage de port. Marquez-le, je vais d'abord chercher la réponse