Docker 安装 Nginx

这里我们拉取官方的镜像

[root@localhost ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
743f2d6c1f65: Already exists 
d6c2f01b1dae: Pull complete 
d4da6ff1b555: Pull complete 
Digest: sha256:12db363acf5b2d2f9f5fed240e228a04692bdac68402430fbd2f720c3a967d01
Status: Downloaded newer image for nginx:latest
[root@localhost ~]#

以下命令使用 NGINX 默认的配置来启动一个 Nginx 容器实例:

[root@localhost ~]# docker run --name mynginx -p 80:80 -d nginx
367c1d72c7505466309b968aad20c5409c3a3b19ac9d6fb9d2ba55bfb2fca3d3
[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
367c1d72c750        nginx               "nginx -g 'daemon of…"   14 seconds ago      Up 12 seconds       0.0.0.0:80->80/tcp   mynginx
[root@localhost ~]#

 在浏览器中输入地址

Docker 安装 Nginx_第1张图片

 但是为了方便部署,我们可以使用另外一种方式来启动一个nginx容器

首先进入根目录,创建目录 /java/nginx, 用于存放后面的相关东西。

cd ~
mkdir -p ~/java/nginx/www ~/java/nginx/logs ~/java/nginx/conf

 拷贝容器内 Nginx 默认配置文件到本地当前目录下的 conf 目录,容器 ID 可以查看 docker ps 命令输入中的第一列:

docker cp mynginx:/etc/nginx/nginx.conf ~/java/nginx/conf
docker cp mynginx:/etc/nginx/conf.d/default.conf  ~/java/nginx/conf
  • www: 目录将映射为 nginx 容器配置的虚拟目录。
  • logs: 目录将映射为 nginx 容器的日志目录。
  • conf: 目录里的配置文件将映射为 nginx 容器的配置文件。

此时docker容器创建命令如下:

docker run -d -p 80:80 --name mynginx2 -v ~/java/nginx/www:/usr/share/nginx/html -v ~/java/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v ~/java/nginx/conf/default.conf:/etc/nginx/conf.d/default.conf -v ~/java/nginx/logs:/var/log/nginx nginx

命令说明:

  • -p 80:80: 将容器的 80 端口映射到主机的 80端口。

  • --name mynginx2:将容器命名为mynginx2。

  • ~/java/nginx/www:/usr/share/nginx/html:将我们自己创建的 www 目录挂载到容器的 /usr/share/nginx/html。

  • -v ~/java/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf。

  • -v ~/java/nginx/conf/default.conf:/etc/nginx/conf.d/default.conf:将我们自己创建的 default.conf 挂载到容器的 /etc/nginx/conf.d/default.conf。

  • -v ~/java/nginx/logs:/var/log/nginx:将我们自己创建的 logs 挂载到容器的 /var/log/nginx。

此时可以删除mynginx容器

docker rm mynginx

启动容器命令

docker start mynginx2

停止容器命令

docker stop mynginx2

 

你可能感兴趣的:(docker)