侧边栏壁纸
博主头像
桃花依旧笑春风 博主等级

人生应该是旷野

  • 累计撰写 13 篇文章
  • 累计创建 6 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

【docker】NPM搭建

老乔
2023-07-08 / 0 评论 / 0 点赞 / 22 阅读 / 0 字

docker以及NPM搭建

正文

总有一些好玩的docker项目吸引你,这时候就需要先把基础做好。

安装docker

国外机

安装Docker
 wget -qO- get.docker.com | bash
 docker -v  #查看 docker 版本
 systemctl enable docker  # 设置开机自动启动
安装Docker-compose
 sudo curl -L "https://github.com/docker/compose/releases/download/v2.26.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
 sudo chmod +x /usr/local/bin/docker-compose
 docker-compose --version  #查看 docker-compose 版本 

国内机

安装Docker
 curl -sSL https://get.daocloud.io/docker | sh
 docker -v  #查看 docker 版本
 systemctl enable docker  # 设置开机自动启动
安装Docker-compose
 curl -L https://get.daocloud.io/docker/compose/releases/download/v2.26.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
 chmod +x /usr/local/bin/docker-compose
 docker-compose --version  #查看 docker-compose 版本

修改配置

内容参考:烧饼博客(此项内容本站暂未修改,仅提供给需要的朋友)

以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘(泪的教训):

 cat > /etc/docker/daemon.json <<EOF
 {
     "log-driver": "json-file",
     "log-opts": {
         "max-size": "20m",
         "max-file": "3"
     },
     "ipv6": true,
     "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
     "experimental":true,
     "ip6tables":true
 }
 EOF

重启服务

 systemctl restart docker

安装Nginx Proxy Manager(NPM)

(跟Node.js里的npm不是一个东西)

创建安装目录

 sudo -i
 ​
 mkdir -p /root/data/docker_data/npm
 ​
 cd /root/data/docker_data/npm

这边我们直接用 docker 的方式安装。

 vim docker-compose.yml

英文输入法下,按 i

 version: '3'
 services:
   app:
     image: 'jc21/nginx-proxy-manager:latest'
     restart: unless-stopped
     ports:
       - '80:80'  # 冒号左边可以改成自己服务器未被占用的端口
       - '81:81'  # 冒号左边可以改成自己服务器未被占用的端口
       - '443:443' # 冒号左边可以改成自己服务器未被占用的端口
     volumes:
       - ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中
       - ./letsencrypt:/etc/letsencrypt  # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中

按一下 esc,然后 :wq 保存退出.

查看端口是否被占用(以81为例)

 lsof -i:81  #查看 81 端口是否被占用,如果被占用,重新自定义一个端口

如果端口没有被占用(被占用了就修改一下端口,比如改成 82,注意 docker 命令行里和防火墙都要改)

运行并访问NPM

 cd /root/data/docker_data/npm   # 来到 dockercompose 文件所在的文件夹下
 ​
 docker-compose up -d 

理论上我们就可以输入 http://ip:81 访问了。

默认登陆名和密码:

 Email:    admin@example.com
 Password: changeme

更新NPM

更新其它docker项目同理

 cd /root/data/docker_data/npm
 ​
 docker-compose down 
 ​
 cp -r /root/data/docker_data/npm /root/data/docker_data/npm.archive  # 万事先备份,以防万一
 ​
 docker-compose pull
 ​
 docker-compose up -d    # 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。
 ​
 docker image prune  # prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像

提示:

 WARNING! This will remove all dangling images.
 Are you sure you want to continue? [y/N] 

输入 y

卸载NPM

卸载其它docker项目同理

 cd /root/data/docker_data/npm
 ​
 docker-compose down 
 ​
 rm -rf /root/data/docker_data/npm  # 完全删除映射到本地的数据

利用NPM反代和安装证书

在添加反向代理之前,确保你已经完成了域名解析,不会的可以看波仔大佬的相关教程:查看教程

image-20230407165128184

登录NPM

使用http://本机ip:81登录,账号密码未设置的情况下为安装后的初始账号密码 ,建议登录后先在弹窗内改邮箱(用户名)和登录密码

image-20230407165712310

设置反代

image-20230407170054858

1、自己想要指向的域名

2、服务器ip

如果搭建的服务和nginx proxy manager服务所在不是一个服务器,则填写能访问对应服务的IP。 如果都在同一台服务器上,则填写在服务器中输入ip addr show docker0 命令获取得到的ip。

image-20230511153349151

3、端口号(可以输入81,把当前npm网站练手)

安装证书

image-20230407172849071

1、下拉选框,选择new SSL

Email address for Let's Encrypt输入自己的邮箱

其中设置SSL证书这一步,打开Force SSL这一选项,在保存后,会关闭,需要重新打开,在勾选上。

完成

这时候可以用域名访问你的服务站点了

打完收工

0

评论区