docker容器部署nginx笔记
下载容器
笔者使用的是nginx:1.19
docker pull nginx:1.19
失败了,换个镜像地址
镜像配置
cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
我使用中科大的镜像
sudo systemctl daemon-reload(感觉这个没有鸟用)
sudo systemctl reload docker(这个应该有用)
sudo systemctl restart docker(这个基本上没有问题)
sudo reboot (这个绝对没有问题)
看看改成功没有
# docker info | grep -A1 -i mirrors
Registry Mirrors:
https://registry.docker-cn.com/
放弃了,用自己电脑做代理吧
export https_proxy=http://192.168.1.22:7890
export http_proxy=http://192.168.1.22:7890
export all_proxy=socks5://192.168.1.22:7890
MD,DNS新装的系统DNS没有配置好。捯饬好一会儿。继续。
下载镜像
docker pull nginx:1.19
# docker images | grep 1.19
nginx 1.19 f0b8a9a54136 10 months ago 133M
都10个月了,有点老了,同事在用,我也用呗,省的踩坑。
启动镜像
# docker run -d --rm --name test nginx:1.19
a71f64316981e638230812b95717797d46ef50881dd9036bd6d2a04fa68dc5f7
配置目录搞出来
docker container cp test:/etc/nginx .
发现有个连接文件,以免出问题,还是把nginx相关的配置文件搞出来吧,回来再挂载进去替换掉;
# 主配置文件
docker container cp test:/etc/nginx/nginx.conf .
# 配置目录
docker container cp test:/etc/nginx/conf.d .
# 样式配置文件
docker container cp test:/etc/nginx/mime.types .
分析配置文件(原则上尽量不该配置文件)
用户
默认的使用的nginx用户,有点麻烦,改为root试试
改r省的到时候哪哪都需要改权限,先能用再说安全问题。
user nginx;
改为
user root root;
日志目录
/var/log/nginx/
到时找个空目录给挂载出来,方便查日志。
服务配置
端口
默认80 需要映射出来
路径
/usr/share/nginx/html 服务路径需要挂载进去,提供静态页面文件。
准备环境
创建日志目录
# mkdir log
# mkdir html
# echo "OK" > ./html/index.html
# docker run -d --rm --name test \
-v $(pwd)/log:/var/log/nginx \
-v $(pwd)/nginx.conf:/etc/nginx/nginx.conf \
-v $(pwd)/mime.types:/etc/nginx/mime.types \
-v $(pwd)/conf.d:/etc/nginx/conf.d \
-v $(pwd)/html:/usr/share/nginx/html \
-p 80:80 \
nginx:1.19
如果感觉有什么不对,可以进去瞅瞅
# docker exec -it test /bin/bash