docker pull php:5.3   ## 拉取

docker images ## 列出所有镜像
docker rmi 镜像id ## 删除镜像 

docker ps -参数 ## -a 列出所有容器  -l 列出最新创建容器  -n=2 列出最近创建的2个容器 -q 仅列出容器ID -s 显示容器大小
docker rm -f 容器id ## 删除容器 docker rm <容器ID或容器名> 

docker network create --subnet=172.18.0.0/16 es-network ##创建网段
docker run -t -i -p 8088:80 -v D:/projects/live-ranking-api:/var/www -d "eriksencosta/php-dev:latest" /bin/bash   ## 行容器 其中参数:-p 端口映射 -v 挂载目录,冒号前是宿主机目录,后面的是容器内目录 -t -i 参数 表示已交互方式运行容器,运行成功后会执行 /bin/bash 就是进去终端
## -v $PWD/conf:/usr/local/etc/php :将主机中当前目录下的conf目录挂载到容器的/usr/local/etc/php
--net=es-network --ip=172.18.0.12
--network bridge --ip 172.17.0.2 tomcat
## nginx 相关配置 start

## 创建容器并拷贝容器内 nginx 配置
docker run \
--name tmp-nginx-container \
-d nginx \ ## 然后创建 Nginx 临时容器,用于拷贝所需配置文件

docker cp tmp-nginx-container:/etc/nginx/nginx.conf /Users/feng/Documents/Kitematic/nginx/nginx.conf ## 拷贝 Nginx 配置文件:
docker cp tmp-nginx-container:/etc/nginx/conf.d/default.conf /Users/feng/Documents/Kitematic/nginx/conf.d/default.conf ## 拷贝站点配置文件

docker rm -f tmp-nginx-container  ## 删除 Nginx 临时容器


docker run \
--name nginx_test \
-p 80:80 \
-v /Users/vanehay/lnmp_conf/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /Users/vanehay/lnmp_conf/nginx/conf.d:/etc/nginx/conf.d \
-v /Users/vanehay/webroot:/usr/share/nginx/html \
--net=es-network \
--ip=172.18.0.2 \
--hostname=nginx_test \
-d nginx  
## 创建 Nginx 容器,并映射 Nginx 配置文件、站点配置文件目录和网站根目录:
## nginx 相关配置 end


docker pull alpine/socat
docker run \
-d --name socat \
--restart always \
-p 2375:2375 \
-v /var/run/docker.sock:/var/run/docker.sock alpine/socat tcp-listen:2375,fork,reuseaddr unix-connect:/var/run/docker.sock

$vim ~/.bash_profile
export DOCKER_HOST=tcp://localhost:2375
$source .bash_profile

curl localhost:2375/version

## tomcat start
docker pull tomcat
docker pull tomcat:9.0.62-jdk8
docker run \
--name tomcat \
-p 8080:8080 \
--net=es-network \
--ip=172.18.0.3 \
--hostname=tomcat \
-v /Users/vanehay/webroot/webapps:/usr/local/tomcat/webapps \
-v /Users/vanehay/configure/tomcat/conf:/usr/local/tomcat/conf \
-v /Users/vanehay/configure/tomcat/logs:/usr/local/tomcat/logs \
-v /Users/vanehay/configure/tomcat/work:/usr/local/tomcat/work \
--restart=always tomcat

## mysql start
docker pull mysql:5.5      ## docker安装mysql5.5
docker exec -d -p 本地端口:容器端口 -e MYSQL_ROOT_PASSWORD=默认密码 --name 容器别名 mysql:5.5
eg:docker exec -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql_test mysql:5.5

-v /root/mysql/conf:/etc/mysql/conf.d 
-v /root/mysql/logs:/logs 
-v /root/mysql/data:/var/lib/mysql

docker run -it mysql_test /bin/bash  ## 进入容器

## mysql end

## php start
docker pull php:5.3-apache

docker run \
--name php53apache \
-v /Users/vanehay/webroot:/var/www/html \
#-v /Users/vanehay/lnmp_conf/apache2:/etc/apache2 \
-v /Users/vanehay/lnmp_conf/apache2/apache2.conf:/etc/apache2/apache2.conf \
-v /Users/vanehay/lnmp_conf/apache2/sites-available:/etc/apache2/sites-available \
##-v /Users/vanehay/lnmp_conf/apache2/sites-enabled:/etc/apache2/sites-enabled
-v /Users/vanehay/lnmp_conf/apache2/php.ini:/usr/local/lib/php/php.ini \
-p 8080:80 \  由nginx 反向代理 所以不需要映射端口
--net=es-network \
--ip=172.18.0.10 \
--hostname=php53apache \
-d \
--restart=always --privileged=true php:5.3-apache

docker run --name php53apache -v /srv/www/apache:/var/www/html -v /srv/www/apache/php.ini:/usr/local/lib/php.ini -p 127.0.0.1:8080:80 -d  --restart=always --privileged=true php:5.3-apache

docker pull php:5.6-fpm
docker run \
--name php56fpm \ 
-v ~/webroot:/var/www/html \
-v /Users/vanehay/lnmp_conf/php/php56:/usr/local/etc/php \
## -p 9000:80 \
--net=es-network \
--ip=172.18.0.11 \
--hostname=php53apache \
-d \
--restart=always \
--privileged=true php:5.6-fpm

docker pull php:7.2-fpm
docker run \
-v /Users/vanehay/webroot:/var/www/html \
-v /Users/vanehay/lnmp_conf/php/php72/php:/usr/local/etc/php \
--name php72fpm \
--net=es-network \
--ip=172.18.0.12 \
--hostname=php7fpm \
-d \ 
--restart=always \
--privileged=true php:7.2-fpm

## php end

/usr/local/php.ini

## 安装扩展 
## 先得进入容器:docker exec -it php_server /bin/bash
## docker-php-ext-install 扩展名,比如:docker-php-ext-install mysqli

## mysql start
docker pull mysql:5.5
露囧:/usr/local/mysql/
docker run \
-p 3307:3306 \
--name mysql55 \
-v /Users/vanehay/lnmp_conf/mysql55/conf:/etc/mysql \
-v /Users/vanehay/lnmp_conf/mysql55/logs:/var/log/mysql \
-v /Users/vanehay/Data/mysql55:/usr/local/mysql/data/ \   
-e MYSQL_ROOT_PASSWORD=123456 \
--net=es-network \
--ip=172.18.0.5 \
--hostname=mysql55 \
-d mysql:5.5


docker pull mysql:5.7
docker run \
-p 3308:3306 \
--name mysql57 \
-v /Users/vanehay/lnmp_conf/mysql57/conf:/etc/mysql \
-v /Users/vanehay/lnmp_conf/mysql57/logs:/var/log/mysql \
-v /Users/vanehay/Data/mysql57:/var/lib/mysql \   
-e MYSQL_ROOT_PASSWORD=123456 \
-e TZ='Asia/Shanghai' \
--net=es-network \
--ip=172.18.0.6 \
--hostname=mysql57 \
-d mysql:5.7

docker pull mysql:8
docker run \
-p 3309:3306 \
--name mysql8 \
#-v /Users/vanehay/configure/mysql80/mysql-files:/var/lib/mysql-files \
-v /Users/vanehay/configure/mysql80/conf:/etc/mysql \
-v /Users/vanehay/configure/mysql80/logs:/var/log/mysql \
-v /Users/vanehay/Data/mysql80:/var/lib/mysql \   
-e MYSQL_ROOT_PASSWORD=123456 \
--net=es-network \
--ip=172.18.0.13 \
-e TZ='Asia/Shanghai' \
--hostname=mysql8 \
--restart=always \    ###当重启Docker时会自动启动该容器
-d mysql:8

//安装redis
docker pull redis:5
docker run \
-p 6379:6379 \
--name redis \
-v /Users/vanehay/Data/redis:/data \   
--net=es-network \
--ip=172.18.0.15 \
--hostname=redis5 \
-d redis:5 redis-server --appendonly yes



https://blog.csdn.net/qq_27295403/article/details/103709359
https://vuepress.mirror.docker-practice.com/appendix/repo/mysql.html#%E5%9F%BA%E6%9C%AC%E4%BF%A1%E6%81%AF
docker inspect mysql55 ## 获取容器信息

php -i|grep ini #查看配置文件路径
php -i|grep configure #查看php的环境检查参数,网站搬家要用到
docker network inspect bridge | es-network## 查看一下实际分配的IP地址
https://learnku.com/articles/26066  ## 切换docker 下容器内 apt 源
docker inspect mysql_server | grep '"IPAddress"'  ## 查看mysql_server IP
https://www.jianshu.com/p/a97d2efb23c5
开发环境其实都应该用 docker + docker-compose 去做。你自己本地的php7可以删掉了。
https://learnku.com/articles/26066  ## 更换docker apt源代码
启动mogond
docker run \
-p 27017:27017 \
--name mongodb \
-v /Users/vanehay/lnmp_conf/mongodb/configdb:/data/configdb/ \
-v /Users/vanehay/Data/mongodb/db/:/data/db/ \
--net=es-network \
--ip=172.18.0.7 \
--hostname=mongodb \
-d mongo --auth


docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi


docker run -it --rm \
--link mongodb:mongo \
# -v /Users/vanehay/lnmp_conf/yapi/config.json:/api/config.json \
--entrypoint npm \
--workdir /api/vendors \
registry.cn-hangzhou.aliyuncs.com/anoy/yapi \
run install-server


docker run -d \
--name yapi \
--link mongodb:mongo \
--workdir /api/vendors \
-v /Users/vanehay/lnmp_conf/yapi/config.json:/api/config.json \
# -p 3000:3000 \
registry.cn-hangzhou.aliyuncs.com/anoy/yapi \
server/app.js
https://www.cnblogs.com/woshimrf/p/docker-install-yapi.html

https://www.cnblogs.com/woshimrf/p/docker-install-yapi.html
docker network ls ## 查看 docker 网络 便能看到docker默认安装的所有网络,分别是none网络、host网络和bridge网络


修改docker容器配置
使用 docker ps -a 命令找到要修改容器的 CONTAINER ID
运行 docker inspect 【CONTAINER ID】 | grep Id 命令
eg:docker inspect 6cd48c0006be | grep Id # 6cd48c0006be338e6ca69c10a7f6e3f1ef81967681e494673c9949bd252ed8ee

执行 cd /var/lib/docker/containers 命令进入找到与 Id 相同的目录