[root@localhost /]# docker pull nginx #使用docker 下载nginx 镜像 [root@localhost /]# docker run --name nginx -p 80:80 -d nginx #启动nginx [root@localhost /]# docker exec -it nginx bash #这样就简单的把nginx启动了,但是我们想要改变配置文件nginx.conf ,进入容器,命令
[root@localhost /]# apt-get update #(容器内nginx位置:/etc/nginx/)不能在容器中使用vim/vi,解决办法 [root@localhost /]# apt-get install vim [root@localhost /]# docker stop nginx #此时你就可以自己定制nginx.con文件了,改好配置文件之后重启容器,步骤,先把容器停了 [root@localhost /]# docker start nginx #重启nginx
[root@localhost /]# 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
第二种启动方式方式,挂载配置文件,就是把装有docker宿主机上面的nginx.conf配置文件映射到启动的nginx容器里面,这需要你首先准备好nginx.con配置文件,如果你应经准备好了,下一步是启动nginx(如上)
命令注释:
--name :给你启动的容器起个名字,以后可以使用这个名字启动或者停止容器 -p :映射端口,将docker宿主机的80端口和容器的80端口进行绑定 -v :挂载文件用的, 第一个-v :表示将你本地的nginx.conf覆盖你要起启动的容器的nginx.conf文件, 第二个-v :表示将日志文件进行挂载,就是把nginx服务器的日志写到你docker宿主机的/home/docker-nginx/log/下面 第三个-v :表示的和第一个-v意思一样的。 -d :表示启动的是哪个镜像
Docker直接挂载启动Nginx:
[root@localhost /]# docker pull nginx #镜像 [root@localhost /]# docker images #查看镜像 [root@localhost /]# mkdir -p /data/nginx/{conf,html,logs} #创建挂载目录
编写nginx,conf配置文件,并放在刚刚创建的目录下:
#user nobody; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; #指定容器中的路径 index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; #指定容器中的路径 } } }
[root@localhost /]# docker run --name mynginx -d -p 82:80 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/logs:/var/log/nginx -v /data/nginx/html:/usr/share/nginx/html -d nginx:latest
在html目录下随便弄个html文件,重启后直接通过:域名:82 访问html文件。