Docker notes
2018-07-10 本文已影响10人
你东哥呀
docker uses a little note
Record the pit I met with docker
- docker build -t name:tag
$ docker build -t php:5.6-fpm .
......
......
Step 10/10 : CMD ["php-fpm56"," --nodaemonize"]
---> Running in f30821a06bd9
Removing intermediate container f30821a06bd9
---> 2b718d2cc43b
Successfully built 2b718d2cc43b
Successfully tagged php-fpm:5.6
SECURITY WARNING: ... Windows ... '-rwxr-xr-x' permissions...... directories.
- docker run -p 9056:9056 --name xxx -d name:tag
$ docker run -p 9056:9056 --name php5.6 -v D:\wwwroot:/data -d php-fpm:5.6
161d51b8d7cdbbebf4315d222d7553f0417cc1f357b2fa66e3f238ff773bb8ea
or
$ docker run -p 9066:9056 --name YourName -v D:\www:/data -p 0.0.0.0:8066:80 -itd php-fpm:5.6
161d51b8d7cdbbebf4315d222d7553f0417cc1f357b2fa66e3f238ff773bb8ea
- About starting
Docker must be a "foreground process", otherwise docker will stop immediately after startup, there are usually several ways to deal with it. As follows:
- When using
php-fpm
, add--nodaemonize
parameters, such as:php-fpm56 --nodaemonize
- Use
top/tail
type commands, such as:tail -f /dev/null
- Install and use the
supervisor
tool, which is written inPython
, so installPython
andpython-setuptools
first.- When performing
docker run
, run a loop at the back,
such as:docker run -d php-fpm:5.6 /bin/sh -c "while true; do echo 123; sleep 1; done"
-
About port
In addition, the problem of network port mapping is sometimes normal, but it can not be accessed.
- Replace
127.0.0.0:9000
inphp-fpm.conf
with[::]: 9056
,such as:sed -i 's/127.0.0.1:9000/[::]:9056/' ./php-fpm.conf
- We used to use
php -S 127.0.0.1:80
before, and now we can:php -S [::]:80
- In a word, it can't appear
127.0.0.1
,5555.In this way, you can play:netstat -ano
,docker port a3a0cfd83232
,setenforce 0
and so on.