Docker提供三种不同的方式将数据从宿主机挂载到容器中:volumes,bind mounts和tmpfs。
# docker volume create nginx-vol
# docker volume ls
# docker volume inspect nginx-vol
# docker run -d -it --name=nginx-test --mount src=nginx-vol,dst=/usr/share/nginx/html nginx
# docker run -d -it --name=nginx-test -v nginx-vol:/usr/share/nginx/html nginx
# docker container stop nginx-test
# docker container rm nginx-test
# docker volume rm nginx-vol
https://docs.docker.com/engine/admin/volumes/volumes/#start-a-container-with-a-volume
# docker run -d -it --name=nginx-test --mount type=bind,src=/app/wwwroot,dst=/usr/share/nginx/html nginx# docker run -d -it --name=nginx-test -v /app/wwwroot:/usr/share/nginx/html nginx
# docker inspect nginx-test
# docker container stop nginx-test# docker container rm nginx-test
https://docs.docker.com/engine/admin/volumes/bind-mounts/#start-a-container-with-a-bind-mount
docker network create lnmp
docker run -itd \ --name lnmp_mysql \ --net lnmp \ -p 3306:3306 \ --mount src=mysql-vol,dst=/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ mysql:5.7 --character-set-server=utf8
docker exec lnmp_mysql sh \ -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e"create database wp"'
docker run -itd \ --name lnmp_web \ --net lnmp \ -p 88:80 \ --mount type=bind,src=/app/wwwroot,dst=/var/www/html richarvey/nginx-php-fpm
wget https://cn.wordpress.org/wordpress-4.7.4-zh_CN.tar.gztar zxf wordpress-4.7.4-zh_CN.tar.gz -C /app/wwwroot
# 浏览器测试访问
http://IP:88/wordpress