Linux系统:CentOS-7-x86_64-DVD-1708.iso
Docker版本:Docker CE
一、CentOS-7 安装 dockerDocker学习(一)Docker的安装_程序搬砖员的博客-CSDN博客
二、拉取 nginx 镜像 1、进入到DockerHub:Docker Hub,搜索nginx,如下,选中官方版本很多的其他参数需要在 Docker Hub 中进行查询,如果只是一些基本的安装nginx,可以不用去看这个官网。
2、拉取 ngxin 的镜像,如果不加上版本,就是最新版本docker pull nginx:1.21.6
#删除镜像 docker rmi nginx:1.21.6 #查询镜像 docker images nginx #保存镜像 docker save -o nginx.tar nginx:1.21.6 #加载本地镜像,就是导入保存了的镜像 docker load -i nginx.tar
如果想要知道 docker rmi 的具体参数,可以使用帮助文档,命令是:docker rmi --help,具体操作:Docker学习(二)Docker的基本操作_程序搬砖员的博客-CSDN博客
其他命令的具有什么参数,也可以通过 --help进行查询。
三、启动 nginx 容器 1、运行容器,并且配置映射端口docker run --name nginx -d -p 80:80 nginx:1.21.6
命令解读:
docker run :创建并运行一个容器
--name : 给容器起一个名字,比如叫做 nginx
-d:后台运行容器
-p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
nginx:1.21.6:镜像名称
”“ 的意思是:告诉系统,这个命令还没有结束,需要继续往下面读,这么写是为了提高可读性。
其他一些的容器命令,其中 nginx 是容器名称,不是镜像名称
# 查询默认的容器,就是运行正常的容器 docker ps # 查询所有的容器,更多的参数,可以根据 docker ps --help 查询帮助文档 docker ps -a #查询容器日志,不要 -f 就是静态日子,加上是动态日志 docker logs -f nginx #进入容器 docker exec -it nginx bash #退出容器 exit #停止容器 docker stop nginx #启动容器 docker start nginx2、在home文件夹下面创建文件夹
3、拷贝 nginx 的一些配置文件,nginx是容器名称,也可以用容器id代替mkdir -p ../home/nginx/conf
mkdir -p ../home/nginx/conf.d/
mkdir -p ../home/nginx/html/
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf docker cp nginx:/etc/nginx/conf.d /home/nginx docker cp nginx:/usr/share/nginx/html/ /home/nginx4、删除nginx容器
# 删除容器,容器必须停止才可以删除 docker rm nginx #容器还在运行时,强制删除容器 docker rm -f nginx5、重新运行容器
docker run --name nginx --restart always --privileged=true -d -p 80:80 -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/html:/usr/share/nginx/html -v /home/nginx/conf.d:/etc/nginx/conf.d -v /home/nginx/logs:/var/log/nginx nginx:1.21.6
命令解读:
如果不想做端口映射,那么可以把【-p 80:80】换成 【--net host】,以后服务是什么端口,就直接通过端口访问。比如nginx的是80,mysql是3306,直接通过宿主机访问80、3306就可以了 。docker run :创建并运行一个容器
--name : 给容器起一个名字,比如叫做 nginx
--restart always:重启 docker 时,自动启动相关容器
--privileged=true :获取root权限
-d:后台运行容器
-p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
-v :数据挂载,是一些文件、文件夹映射到宿主机上面,这里使用的宿主机文件挂载,而不是数据卷挂载。
nginx:镜像名称,例如 nginx:1.21.6
”“ 的意思是:告诉系统,这个命令还没有结束,需要继续往下面读,这么写是为了提高可读性。
命令:
docker run --name nginx --restart always --privileged=true -d --net host -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/html:/usr/share/nginx/html -v /home/nginx/conf.d:/etc/nginx/conf.d -v /home/nginx/logs:/var/log/nginx nginx:1.21.66、访问nginx
如果访问不了,看看防火墙开没开,打开防火墙命令参考:
Docker学习(一)Docker的安装_程序搬砖员的博客-CSDN博客
7、使用nginx进行配置,配置成功后,需要重启容器。1、在 /home/nginx/conf.d 文件里面的 default.conf 添加配置
这个红框是添加进去的
2、/home/nginx/html 文件里面添加其他文件信息。



