- 这里docker是我购买服务器选装的,可自行下载
0.docker命令
- 搜索容器:docker search 容器
- 下载容器:docker pull 容器名
- 查看正在运行的容器:docker ps -s
- 删除指定的容器:docker rm 容器号
- 启动容器:docker run --name nginx -p 80:80 -d nginx
- 进入容器:docker exec -it 容器号/容器名 bash
1.搜索和拉取镜像
- 搜索docker hub 上的镜像(以Nginx为例),执行指令:# docker search nginx
- 拉取镜像,执行指令: #docker pull nginx
- 查看镜像,执行指令: #docker images
2.启动nginx
docker run --name nginx -p 80:80 -d nginx
这样就简单的把nginx启动了,但是我们想要改变配置文件nginx.conf ,进入容器,命令:
docker exec -it nginx bash
nginx.conf配置文件在 /etc/nginx/ 下面,但是你使用vim nginx.conf 或者vi nginx.conf
会发现vi或者vim命令没有用,解决办法:apt-get update 完成之后 apt-get install vim
此时你就可以自己定制nginx.con文件了,改好配置文件之后重启容器,步骤,先把容器停了
docker stop nginx 然后重启 docker start nginx
这样不是很方便,还有第二种方式,挂载配置文件,就是把装有docker宿主机上面的nginx.conf配置文件映射到启动的nginx容器里面,这需要你首先准备好nginx.con配置文件,如果你应经准备好了,下一步是启动nginx
命令:docker run --name nginx -p 80:80 -v /home/docker-nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/docker-nginx/log:/var/log/nginx -v /home/docker-nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -d nginx
解释下上面的命令:
--name 给你启动的容器起个名字,以后可以使用这个名字启动或者停止容器
-p 映射端口,将docker宿主机的80端口和容器的80端口进行绑定
-v 挂载文件用的,第一个-v 表示将你本地的nginx.conf覆盖你要起启动的容器的nginx.conf文件,第二个表示将日志文件进行挂载,就是把nginx服务器的日志写到你docker宿主机的/home/docker-nginx/log/下面
第三个-v 表示的和第一个-v意思一样的。
-d 表示启动的是哪个镜像
我个人更喜欢第二种映射的方式,麻烦的是需要自己准备好nginx.conf 和default.conf文件,我是直接从容器里面复制的,然后根据自己的需要改的
4.Web配置
server {
listen 80;
server_name **.106.2**.175;
location / {
root /public/app/dist;
index index.php index.html index.htm;
}
location /sell {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
}
}
有问题,欢迎留言交流。