Hey h4x0rs como la llevan? espero que bien. Me paso por acá con un pequeño problema que me tiene pensando, sucede que queria armar un pequeño entorno de desarrollo web para php+html5, pero no queria utilizar xampp ni mucho menos vagrant, etc. Así que le di la oportunidad a Docker ya que las imagenes pesan realmente poco y es bastante simple(curioso decirlo cuando tengo un problema jeje) y los contenedores son muy rapidos. El problema viene a la hora visualizar el contenido de index.php que esta en el contenedor en el directorio /app desde mi equipo host. Para configurarlo hice lo siguiente:
1. Descargué una imagen de alpine linux con php 7
docker image pull jorge07/alpine-php
2.Creé el contenedor bindeando la carpeta donde tengo el index.php en mi host en modo lectura para el contenedor y manteniendolo corriendo en background
docker container run -d --name miwebapp -P --mount type=bind,source=/home/phr4ckl0t/Documents/Codigo,target=/app jorge07/alpine-php
3. Para verificar el puerto random al que bindea el contenedor con mi host y mirar la IP del contenedor hice lo siguiente:
docker container inspect miwebapp
4. Del paso 3 obtuve que la IP que era 172.17.0.2 y el puerto expuesto que era el 32774
5. En el web browser de mi host pongo en la barra de direcciones:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
El problema es que no logra conectar por lo que el navegador me tira un unable to connect al momento de visualizar el contenido de mi archivo index.php, según el tutorial en No tienes permitido ver los links. Registrarse o Entrar a mi cuenta en el terce enlace (simple web app) deberia bastar, e intentado otras cosas que he encontrado en la red como añadir el contenedor a la misma red del host con --network, he seteado los puertos manualmente con -p <host>:<container> etc..., probé con otra imagen que tuviera un apache dentro pensando que quizá era por que la que uso no tiene un web server escuchando en x puerto y el resultado es el mismo. Para asegurarme de que en realidad el archivo esta en el contenedor abro una consola con docker exec -it miwebapp /bin/sh y me desplazo hacia el directorio /app y efectivamente si está montado el contenido que comparto desde mi host.
Esta es mi docker info:
Containers: 1
Running: 1
Paused: 0
Stopped: 0
Images: 3
Server Version: 17.09.0-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 06b9cb35161009dcb7123345749fef02f7cea8e0
runc version: 3f2f8b84a77f73d38244dd690525642a72156c64
init version: 949e6fa
Security Options:
seccomp
Profile: default
Kernel Version: 4.13.5-1-ARCH
Operating System: Arch Linux
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 15.61GiB
Name: robbie
ID: LOQC:2333:5VCJ:Z5EU:5NVM:VXRQ:3JII:XOWU:SWSO:2FR5:MCDJ:MOG5
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Username: phr4ckl0t
Registry: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
y esta es la del container:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bea5cc95f427 jorge07/alpine-php "/sbin/tini -- /us..." About a minute ago Up About a minute 0.0.0.0:32774->9000/tcp webapp
Cualquier ayuda es bien recibida, la agradezco demasiado. Seguiré investigando a ver si encuentro algo.
1. Descargué una imagen de alpine linux con php 7
docker image pull jorge07/alpine-php
2.Creé el contenedor bindeando la carpeta donde tengo el index.php en mi host en modo lectura para el contenedor y manteniendolo corriendo en background
docker container run -d --name miwebapp -P --mount type=bind,source=/home/phr4ckl0t/Documents/Codigo,target=/app jorge07/alpine-php
3. Para verificar el puerto random al que bindea el contenedor con mi host y mirar la IP del contenedor hice lo siguiente:
docker container inspect miwebapp
4. Del paso 3 obtuve que la IP que era 172.17.0.2 y el puerto expuesto que era el 32774
5. En el web browser de mi host pongo en la barra de direcciones:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
El problema es que no logra conectar por lo que el navegador me tira un unable to connect al momento de visualizar el contenido de mi archivo index.php, según el tutorial en No tienes permitido ver los links. Registrarse o Entrar a mi cuenta en el terce enlace (simple web app) deberia bastar, e intentado otras cosas que he encontrado en la red como añadir el contenedor a la misma red del host con --network, he seteado los puertos manualmente con -p <host>:<container> etc..., probé con otra imagen que tuviera un apache dentro pensando que quizá era por que la que uso no tiene un web server escuchando en x puerto y el resultado es el mismo. Para asegurarme de que en realidad el archivo esta en el contenedor abro una consola con docker exec -it miwebapp /bin/sh y me desplazo hacia el directorio /app y efectivamente si está montado el contenido que comparto desde mi host.
Esta es mi docker info:
Containers: 1
Running: 1
Paused: 0
Stopped: 0
Images: 3
Server Version: 17.09.0-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 06b9cb35161009dcb7123345749fef02f7cea8e0
runc version: 3f2f8b84a77f73d38244dd690525642a72156c64
init version: 949e6fa
Security Options:
seccomp
Profile: default
Kernel Version: 4.13.5-1-ARCH
Operating System: Arch Linux
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 15.61GiB
Name: robbie
ID: LOQC:2333:5VCJ:Z5EU:5NVM:VXRQ:3JII:XOWU:SWSO:2FR5:MCDJ:MOG5
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Username: phr4ckl0t
Registry: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
y esta es la del container:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bea5cc95f427 jorge07/alpine-php "/sbin/tini -- /us..." About a minute ago Up About a minute 0.0.0.0:32774->9000/tcp webapp
Cualquier ayuda es bien recibida, la agradezco demasiado. Seguiré investigando a ver si encuentro algo.