Docker安装配置Nginx

1、docker搜索nginx镜像

docker search nginx #通过命令搜索下nginx相关镜像信息,建议去dockerhub中查询,可清晰的看到对应版本信息

2、docker拉取nginx镜像

docker pull nginx #默认拉取最新版本的nginx,也可以手动指定nginx版本,如:docker pull nginx:1.20.1

3、docker启动nginx

docker run -d --name nginx01 -p 3344:80 nginx
# 命令详解:
# docker run 启动一个镜像
# -d 表示后台允许
# --name nginx01  表示为当前容器起一个别名
# -p 3344:80 表示将本机的3344端口映射到nginx镜像的80端口
#  nginx 镜像 REPOSITORY标识;或者可以使用IMAGE ID,通过命令docker images 先查看出要启动的镜像的唯一标识,使用docker images命令,查询到镜像信息,然后找到镜像的REPOSITORY标识或IMAGE ID标识即可

--------------------------------------------------------------------看到这别冲动去运行,再仔细看下面的内容,划重点了嗷----------------------------------------------------------------------
    通过上述命令可以正常启动一个nginx容器没有问题,但是当我们需要修改nginx的配置文件时就会很麻烦了,需要进入到容器内部,修改配置,退出容器,然后再进行容器重启,过程较为繁琐。为了解决此问题,我们可以在容器启动的过程中添加一条命令,实现nginx 的配置文件和本地主机指定的配置文件形成关联映射,那么以后只要我们改动本地的配置文件后就会自动映射到nginx容器中,这样极大的简化了修改容器配置文件的流程。废话不说了,看代码:
1、mkdir -p /mydata/nginx/conf #在本地主机创建一个映射目录 -p表示递归创建,然后启动容器,本次启动为了进入容器去复制nginx的配置文件,并不是为了真正的“启动”,进入nginx容器后,使用whereis nginx命令查看相关的配置文件位置,找到nginx配置路径,记住路径,然后执行exit 退出容器,使用docker cp 容器id 本地存放配置文件的绝对路径 容器中配置文件存放的路径。 -将其中的default.conf文件拷贝出到本地存放,此时可以准备重启进行一起启动,并执行配置文件映射命令了。docker ps -a查询全部的容器,可以将不用的删除,docker rm 容器id(删除命令);然后使用  docker run --name 别名 -p 3344:80  -v /usr/mydata/nginx/config/nginx.conf:/etc/nginx/conf.d/default.conf -d  镜像名     ,命令重新创建一个容器并运行即可。踩坑记录:-v属性需要在-d之前,具体咋回事说不太清楚,反正-v放到最后是有问题的,无法映射上的,这个问题后在更新。

4、测试nginx是否启动成功

curl localhost:3344  #linux命令,用于访问置顶url看是否可以读取到页面信息

5、进入nginx容器进行相关配置

docker exec -it nginx01 /bin/bash
# 命令详解:
# docker exec 在运行的容器中执行命令
# -i 以交互模式运行容器,通常与 -t 同时使用;例如-it
# -t 为容器重新分配一个伪输入终端,通常与 -i 同时使用;例如-it
# nginx01 容器名
# /bin/bash 其实就是表示载入容器后运行bash(命令语言解释程序), 因为docker中必须要保持一个进程(运行的程序)的运行,要不然整个容器就会退出,所以说,bash就担任起了docker中运行的那个进程的角色!
#而/bin/bash则是bash在linux下的位置

6、进入nginx容器进行相关配置

whereis nginx #可以在容器中查询出nginx的相关配置文件存放位置

7、进入docker容器后,如何退出

exit #退出ring器,回到本地linux系统

8、停止nginx容器

docker stop 1eb73a8abece
# docker stop停止命令
# 1eb73a8abece表示容器的ID,即:CONTAINER ID

你可能感兴趣的:(docker,docker,nginx,容器)