拉取镜像
docker pull nginx
启动测试
docker run -d -p 80:80 nginx
- -p 80:80: 端口进行映射,将本地 80 端口映射到容器内部的 80 端口。
- -d nginx: 设置容器在在后台一直运行。
访问主机 ip ,出现 Welcome to nginx! 就代表安装启动成功。
通过交互模式进入容器
如果要对 nginx 进行配置,就需要通过交互模式进入容器:
docker ps 查看正在运行的容器,并获取容器ID
docker exec -it 容器ID bash 进入容器内部
在容器内部就可以访问到完整的 nginx 程序文件,可以找到:
- html文件目录:/usr/share/nginx/html
- nginx.conf 配置文件:/etc/nginx/nginx.conf
- default.conf 配置文件:/etc/nginx/conf.d/default.conf
- log日志文件目录:/var/log/nginx
exit 退出容器
每一次都要进入容器内部去编辑配置文件有些不方便,而且还需要在容器内部安装 vi 或 vim,所以最好将容器与主机磁盘进行挂载。
挂载之前,我们在主机上创建好 nginx 文件目录:
创建挂载目录
mkdir -p /home/docker/nginx/{log,html,conf/conf.d}
通过 docker cp 命令将容器内的 nginx 配置文件 copy 到刚创建的主机文件目录中:
docker cp nginx容器id:/usr/share/nginx/html /home/docker/nginx/html
docker cp nginx容器id:/etc/nginx/nginx.conf /home/docker/nginx/conf/nginx.conf
docker cp nginx容器id:/etc/nginx/conf.d/default.conf /home/docker/nginx/conf/conf.d/default.conf
我们停止并删除 启动的测试 nginx 容器:
docker ps 获取容器ID
docker stop 容器id
docker rm 容器id
启动命令
重新启动一个新的 nginx 容器
docker run -d -p 80:80 --name mynginx -v /home/docker/nginx/html:/usr/share/nginx/html -v /home/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/docker/nginx/conf/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /home/docker/nginx/log:/var/log/nginx nginx
- -v path1:path2 参数,其中 path1 是主机的磁盘地址,path2 是 docker 容器的虚拟磁盘地址,可以定义多个 -v 映射多个文件夹。
- --name 自定义容器名
docker ps 命令查看 nginx 容器是否已成功运行。
访问
访问主机 ip ,出现 Welcome to nginx! 就代表安装启动成功。