docker学习(一)

docker mac下搭建lnmp环境

由于众所周知的原因,从Docker Hub难以高效地下载镜像。
除了使用VPN或代理之外,最为有效的方式就是使用Docker国内镜像。

阿里云和DaoCloud 免费提供了加速器 很好使用

我这里使用的是阿里云加速器

而对于Docker for Mac

  • 打开Docker->Preferences...
  • Insecure registries配置:registry.mirrors.aliyuncs.com
  • Registry mirrors配置刚刚专属地址那里自己的镜像加速器地址即可.
  • 重启docker生效
 
配置完之后我们就可以去下载镜像了

拉取镜像 nginx 
docker pull nginx:latest

拉取镜像 mysql
docker pull mysql:5.6

拉取镜像 php
docker pull php:7.1-fpm

创建mysql容器

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name my-mysql mysql:5.6
参数说明 
-d 让容器在后台运行 
-p 添加主机到容器的端口映射 
-e 设置环境变量,这里是设置mysql的root用户的初始密码,这个必须设置 
–name 容器的名字,随便取,但是必须唯一

创建php-fpm容器

docker run -d -v $pwd/www:/var/www/html -p 9000:9000 --link my-mysql:mysql --name my-php php:7.1-fpm
参数说明 
-d 让容器在后台运行 
-p 添加主机到容器的端口映射 
-v 添加目录映射,即主机上的/Users/liugx/docker/data/www和容器中/var/www/html目录是同步的 
–name 容器的名字 
–link 与另外一个容器建立起联系,这样我们就可以在当前容器中去使用另一个容器里的服务。

这里如果不指定–link参数其实也是可以得,因为容易本身也是有ip的且唯一,所以我们也可以直接利用ip去访问容器。

$pwd 代表当前路径

创建nginx容器

docker run -d -p 80:80 --name mynginx -v $pwd/www:/var/www/html --link my-php:phpfpm nginx
参数说明:
-d 让容器在后台运行 
-p 添加主机到容器的端口映射 
-v 添加目录映射,即主机上的/Users/liugx/docker/data/www和容器中/var/www/html目录是同步的
–name 容器的名字 
–link 与另外一个容器建立起联系

######注意######
配置完毕后需要修改nginx配置文件(后面的步骤和平常配置类似,修改配置了重启对应的nginx容器即可生效)
主要修改内容,修改主机的根目录,如果是.php文件就转发给后端的php-fpm处理(192.168.99.100:9000)

方法:
修改nginx配置文件(进入容器):
docker exec -it my-nginx bash

docker ps 查看运行的镜像

docker ps -a 查看所有的镜像

docker images 查看容器

docker rmi id 删除容器中某一个

docker rm id 删除镜像中某一个dockl

原文地址:https://www.cnblogs.com/guolc/p/10248867.html