一、拉取nginx镜像
搜索镜像
docker search nginx
拉取镜像,没有指定版本的话,默认是最新的
docker pull nginx
注:有可能镜像下载比较慢,可以配置国内镜像地址,参考设置docker安装mysql
拉取完成之后,可查看下载的镜像
docker images
二、运行前准备
1.创建nginx配置文件目录
cd /usr/local
# 新建nginx目录
mkdir nginx
cd nginx
# 新建配置目录
mkdir conf
# 新建日志目录
mkdir log
# 新建html目录
mkdir html
2.复制容器中的配置文件到宿主机
# 先运行容器,生成配置文件
docker run --name nginx -p 80:80 -d nginx
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /usr/local/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /usr/local/nginx/
文件移动到宿主机展示
3.删除之前运行的nginx容器
# 查询正在运行的容器
docker ps
# 停止nginx
docker stop nginx
# 删除nginx容器
docker rm nginx
三、运行容器
docker run -p 80:80 --name nginx -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/conf/conf.d:/etc/nginc/conf.d -v /usr/local/nginx/log:/var/log/nginx -v /usr/local/nginx/html:/usr/share/nginx/html -d nginx:latest
参数解释
docker run nginx # 从nginx镜像运行容器
-p 80:80 # 映射本地80端口到容器80端口,前者为本地端口
--name nginx # 设置容器名称为nginx,方便以后使用docker ps进行管理
-v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf # 关联本地/usr/local/nginx/conf/nginx.conf文件到容器中/etc/nginx/nginx.conf,前者为本地
-v /usr/local/nginx/log:/var/log/nginx # 关联本地/usr/local/nginx/log文件到容器中/var/log/nginx,前者为本地
-v /usr/local/nginx/html:/usr/share/nginx/html # 关联本地/usr/local/nginx/html文件到容器中/usr/share/nginx/html,前者为本地
-d # 后台启动
运行完docker检测容器是否运行
docker ps
访问本地80端口
curl 127.0.0.1:80
如果端口开放了,可以通过浏览器访问