chaoz的杂货铺

生命有息、学无止境、折腾不止

0%

docker-nginx安装与使用

镜像加速

推荐使用阿里云

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

由此链接申请加速镜像源地址

然后根据官方配置说明,操作配置下就ok

eg:

1
2
3
4
5
6
7
8
9
ubuntu:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://********.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

下载镜像

配置好加速镜像源地址之后

docker pull nginx

拉取 nginx 的 docker 镜像,然后 docker inages 可已查看到下载下来的 nginx 镜像。

启动镜像(新手启动下练练手)

docker run --name nginx-test -p 8080:80 -d nginx
–name : 自定义;
-p : 80 是 docker 内端口,8080 是docker映射出去的端口;
-d :是 nginx 的镜像名;

玩一玩就可以卸载了
docker stop nginx-test
docker rm nginx-test

因为镜像是空的,里面没你的文件或者配置啊。

创建名为 nginx 容器的挂载卷

什么是挂载卷,就是 docker 容器物理机提供的一个文件夹,用户可见,用户可以修改,放置静态资源。这样也有个好处,就是容器删除后,挂载卷的东西还在,可以为新容器服务。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
docker volume create nginx
docker volume ls
docker volume inspect nginx

root@ubuntu-X555LJ:/home/ubuntu/blog# docker volume ls
DRIVER VOLUME NAME
local nginx
root@ubuntu-X555LJ:/home/ubuntu/blog# docker volume inspect nginx
[
{
"CreatedAt": "2020-03-30T00:20:35+08:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/nginx/_data",
"Name": "nginx",
"Options": {},
"Scope": "local"
}
]

启动新建的容器

docker run -d -v nginx:/etc/nginx -v /home/ubuntu/blog/public:/usr/share/nginx/html1 -p 3002:3002 -p 80:80 --name nginx nginx

“-v nginx:/etc/nginx “这个参数, 这个的意思是将数据卷nginx挂载到容器的/etc/nginx目录
“ -v /home/ubuntu/blog/public:/usr/share/nginx/html1” “/usr/share/nginx/html1” 是容器的配置对应端口所指向的本地的静态资源目录,”/home/ubuntu/blog/public” 是物理机中的静态资源目录。
通俗说就是: 将本地的 “/home/ubuntu/blog/public” 目录挂载到容器的 “/usr/share/nginx/html1”

如何修改 nginx 的配置文件

cd /var/lib/docker/volumes/nginx/_data/conf.d
vim default.conf

就在物理机的挂载点下面。
修改之后要和启动项的参数配得上。(改这个需要懂nginx基础)

然后访问对应端口。

总结

1、下载镜像
2、创建挂载卷
3、记下对应配置项所挂载的本地路径
4、确定容器内资源路径与本地路径的对应关系
5、启动,参数一一对应
6、根据静态资源的自定义挂载点修改对应的配置文件
7、重启
8、访问

参考博客

喜欢这篇文章?打赏一下作者吧!

欢迎关注我的其它发布渠道