服务器docker搭建

简介: 基于docker搭建npm私服

一,从零开始搭建

官方提供了 docker 镜像,为了省事直接使用 docker 安装

1.1 安装docker

使用 yum-utils 管理 yum 仓库

# 安装yum-utils
yum install -y yum-utils

添加 docker 的 yum 源

# 添加docker-ce源 
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
# 更新yum缓存 
yum --enablerepo=updates clean metadata

安装 docker docker-compose 并运行

# 安装
yum -y install docker-ce docker-ce-cli docker-compose
# 启动
systemctl enable docker && systemctl start docker

如果提示 找不到docker-compose

试试:先执行 yum -y install epel-release 在执行安装命令

1.2 配置docker镜像源

已经配置过的直接下一步

# docker配置文件夹
mkdir /etc/docker
# 编辑配置文件
vi /etc/docker/daemon.json

修改 registry-mirrors 和 dns 配置

{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]

重启docker

# 重启配置
systemctl daemon-reload
# 重启docker
systemctl restart docker

1.3 Verdaccio 容器配置

以安装到 /verdaccio 目录为例

安装共需要3个文件

  • docker-compose.yaml docker容器配置
  • config.yaml verdaccio配置文件
  • htpasswd 用户密码文件
# 目录结构   
└── /verdaccio 项目目录    
├──/conf 配置目录    
│  └── config.yaml verdaccio 配置文件    
│  └── htpasswd 用户密码文件    
├──/storage 包存放目录    
├──/plugins 插件目录    
└── docker-compose.yaml docker-compose 配置文件

网络异常,图片无法展示
|

  1. 首先创建 docker-compose.yaml 文件

docker-compose 是定义和运行docker容器的工具,通过 .yaml 文件配置容器

# 创建目录
mkdir /verdaccio
# 创建yaml文件
touch /verdaccio/docker-compose.yaml
  1. 修改容器配置
# 用vi编辑器打开文件
vi /verdaccio/docker-compose.yaml

输入以下内容

version: '3.1'
services:
  verdaccio:
    image: verdaccio/verdaccio
    container_name: "verdaccio"
    networks:
      - node-network
    environment:
      - VERDACCIO_PORT=4873
    ports:
      - "4873:4873"
    volumes:
      - "./storage:/verdaccio/storage"
      - "./conf:/verdaccio/conf"
      - "./plugins:/verdaccio/plugins"
networks:
  node-network:
    driver: bridge

version:docker对应版本号 (构建时出错请改小一点版本号)

image:verdccio镜像

三个 4873 是verdaccio访问端口号

volumes:是挂载物理机的目录到 docker 中

  • 第一行:存储目录,用于保存npm包
  • 第二行:配置文件目录,下一节 Verdaccio 配置 会讲解
  • 第三行:插件目录

1.4 Verdaccio 配置

官网配置文档👉 verdaccio

  1. 创建配置文件 config.yaml

Verdaccio 的配置文件,上行链路、插件、密码文件位置等参数都通过 config.yaml 配置

# 创建目录
mkdir /verdaccio/conf
# 创建文件
touch /verdaccio/conf/config.yaml
  1. 修改配置
# 用vi编辑器打开文件
vi /verdaccio/conf/config.yaml

输入以下内容

# npm包缓存目录
storage: /verdaccio/storage
# 插件目录
plugins: /verdaccio/plugins
# 密码文件
auth:
  htpasswd:
    file: /verdaccio/conf/htpasswd
# 上行链路
uplinks:
  npmjs:
    url: https://registry.npmjs.org
    timeout: 10s
    cache: false
  yarn:
    url: https://registry.yarnpkg.com
    timeout: 10s
    cache: false
  npmmirror:
    url: https://registry.npmmirror.com
packages:
  # 带@的包只能登录后发布
  "@*/*":
    # 访问包的权限
    access: $all
    # 发布包的权限
    publish: $authenticated
    # 代理链
    proxy: npmjs npmmirror yarn
  # 普通包所有人都能发布
  "**":
    access: $all
    publish: $all
    proxy: npmjs npmmirror yarn
middlewares:
  # 启用 npm audit
  audit:
    enabled: true
logs:
  - { type: stdout, format: pretty, level: http }
#监听端口
listen: 0.0.0.0:4873

在 packages 中共有三种用户角色

角色

描述

$all

所有用户

$anonymous

匿名用户

$authenticated

登录的用户

在packages中可以定义某个包的发布下载规则

网站的标题、Logo等设置参考 github web字段

官方默认配置文件👉 github.com/verdaccio/v…

1.5 创建容器并启动

执行以下命令

# 进入verdaccio目录
cd /verdaccio
# 构建
docker-compose up --build

网络异常,图片无法展示
|

看到这样的提示后就可以打开浏览器访问verdaccio了

此时docker运行在前台,Ctrl + C 结束命令就无法访问


1.6 启动和停止

-d 是在后台运行的意思

docker-compose up -d

网络异常,图片无法展示
|

停止

# 查看运行中的容器
docker ps -a
# 找到pid (CONTAINER ID)
docker stop *****

💥 如果出现启动以后无法访问,需要升级内核之后重启

yum update

注意事项:

容器停止后再次启动会出现webUI界面包丢失的问题。

# 在/verdaccio目录下
# 查看运行中的容器
 docker-compose ps
#停止
docker-compose stop verdaccio
#重新启动
docker-compose start verdaccio
相关文章
|
9月前
|
存储 测试技术 数据安全/隐私保护
【Docker项目实战】使用Docker部署dufs文件服务器
【Docker项目实战】使用Docker部署dufs文件服务器
1114 17
【Docker项目实战】使用Docker部署dufs文件服务器
|
8月前
|
Ubuntu 网络安全 PHP
如何使用vscode的Docker插件管理ubuntu 拉取服务器的镜像以及创建容器
本测试镜像旨在记录使用vscode的Docker插件拉取病创建Dockerfile,以及拉取镜像。
|
9月前
|
弹性计算 关系型数据库 Nacos
低配阿里云 ECS 如何 docker 环境部署 NACOS : 单机版模式
NACOS 单机版 Docker 安装指南。使用指定端口和 custom.env 配置文件启动 Nacos 服务,适用于 2.X 版本,包含 gRPC 支持及 MySQL 数据源配置。 -e MODE=standalone \
713 5
|
10月前
|
Ubuntu 安全 数据安全/隐私保护
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
619 12
|
NoSQL Redis Docker
Docker——阿里云服务器利用docker搭建redis集群
本文详细记录了使用Docker搭建Redis集群的过程,包括检查Docker和Docker Compose的安装、创建Redis配置文件、编写`docker-compose.yml`文件、启动Redis节点、创建Redis集群的具体步骤,以及最终的验证方法。文章还提供了在多服务器环境下搭建Redis集群的注意事项,帮助读者全面了解 Redis 集群的部署流程。
1633 68
|
12月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
516 28

热门文章

最新文章