您的位置:首页 > 健康 > 养生 > Docker Nginx

Docker Nginx

2024/12/23 16:30:00 来源:https://blog.csdn.net/tiantiantbtb/article/details/139699039  浏览:    关键词:Docker Nginx

Docker官网

https://www.docker.com/icon-default.png?t=N7T8https://www.docker.com/

删除原先安装的Docker

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

这台机子原先没有安装过   因此不需要    只是演示下

如果原先安装过docker   docker的历史镜像 容器等数据会放在 /var/lib/docker里面 主机上的镜像、容器、卷或自定义配置文件不会自动删除

可以通过下面命令删除赶紧   酌情执行

rm -rf /var/lib/docker

rm -rf /var/lib/containerd

查看docker版本  

docker --version                因为没有安装

下面开始安装Docker

安装 yum-utils工具包

sudo yum install -y yum-utils

添加 Docker 仓库:


sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

如果是国内服务器用阿里云镜像

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

这台用的国外服务器  可以安装

安装docker引擎 及组件(安装最新版本)

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin 

中间要确认两次  y  y

启动docker

systemctl start docker   

安装Nginx

创建多个文件夹

mkdir -p /usr/local/develop/docker/nginx

找一个默认的新的nginx.conf 或者原先有的nginx.conf  放到 /usr/local/develop/docker/nginx文件夹下


   

docker run -d -p 80:80 -p 443:443 --name nginx \
-v /usr/local/develop/docker/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/develop/docker/nginx/conf.d:/etc/nginx/conf.d \
-v /usr/local/develop/docker/nginx/html:/usr/share/nginx/html \
-v /usr/local/develop/docker/nginx/logs:/var/log/nginx \
-v /usr/local/develop/docker/nginx/ssl:/etc/nginx/ssl \
-v /etc/letsencrypt:/etc/letsencrypt \
nginx
 

指定版本
docker run -d -p 80:80 -p 443:443 --name nginx \
-v /usr/local/develop/docker/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/develop/docker/nginx/conf.d:/etc/nginx/conf.d \
-v /usr/local/develop/docker/nginx/html:/usr/share/nginx/html \
-v /usr/local/develop/docker/nginx/logs:/var/log/nginx \
-v /usr/local/develop/docker/nginx/ssl:/etc/nginx/ssl \
-v /etc/letsencrypt:/etc/letsencrypt \
nginx:1.20.0
     

查看docker中运行的容器

docker ps -a

进入docker安装的nginx容器内部

docker exec -it nginx /bin/bash        注意 -it 后面可以是  镜像id  也可以是容器名

exit  退出

关于docker cp命令   从容器内部复制文件或者文件夹到外部  该命令示例  我是直接手动拖进去的

docker cp 容器名/容器id:/etc/nginx/nginx.conf /usr/local/develop/docker/nginx/nginx.conf  
 

开通安全组

docker查看镜像和删除镜像

docker images  查看所有镜像

docker rmi 镜像名/容器id      

下面配置SSL

先自行把域名DNS解析配置好

然后在修改宿主机/usr/local/develop/docker/nginx  下的nginx.conf   另外加了一个server模块

安装certbot

yum install certbot

certbot certonly --webroot -w /usr/local/develop/docker/nginx/ssl -d www.xxx.xyz -d xxx.xyz

修改配置

重启

docker restart nginx
 

可以用ssl访问了

设置docker开机自启

systemctl enable docker

当docker启动  配置 Docker 容器内的 Nginx 也开机自启

两种方式  1.运行容器时使用 --restart 选项

docker run -d -p 80:80 -p 443:443 --name nginx \
-v /usr/local/develop/docker/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/develop/docker/nginx/conf.d:/etc/nginx/conf.d \
-v /usr/local/develop/docker/nginx/html:/usr/share/nginx/html \
-v /usr/local/develop/docker/nginx/logs:/var/log/nginx \
-v /usr/local/develop/docker/nginx/ssl:/etc/nginx/ssl \
-v /etc/letsencrypt:/etc/letsencrypt \
--restart always \
nginx
 

我们现在已经运行了  所以选第二种  

docker update --restart always nginx

关闭服务器测试

// 设置开机自启
 sudo systemctl enable docker// 停止
 sudo systemctl stop docker
 // 重启
 sudo systemctl restart docker
 // 查看状态
 sudo systemctl status docker
 // 设置开机自启
 sudo systemctl enable docker
 // 取消开机自启
 sudo systemctl disable docker
 // 查看是否已经配置开机自启
 sudo systemctl is-enabled docker

VitePress+Docker+jenkins构建个人网站-CSDN博客

npm run docs:build

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com