Docker部署 Verdaccio 的经验分享
在尝试使用Docker部署 Verdaccio 的过程中,我遇到了一些挑战,但最终成功解决了这些问题。以下是我的一些经验和步骤,希望对其他用户有所帮助。
首先,我决定使用 Podman 替代 Docker,因为 Podman 兼容 Docker 和 Docker Compose,而且它更节省资源。为了在 WSL2 环境中运行 Podman,我首先更新了 WSL 到最新版本,并设置了默认的 WSL 版本为 2。
接下来,我下载并安装了 Podman for WSL2。安装完成后,我创建了一个名为 podman-machine-default 的 Linux 子系统应用,并在其中执行所有容器操作。
为了解决权限和网络问题,我修改了 /etc/wsl.conf 文件,添加了 systemd=true 配置,并设置了 ~/.wslconfig 文件,将网络模式设置为 mirrored,以便与宿主环境共享网络。此外,我还修改了 /etc/containers/registries.conf 文件,添加了镜像源配置,并配置了 Podman 的别名,使其兼容 Docker 命令。
在部署 Verdaccio 时,我首先拉取了 Verdaccio 的镜像,然后创建了一个容器来复制默认配置。接着,我编写了 docker-compose.yml 文件,配置了容器名称、用户、网络模式、环境变量、端口映射和卷映射等参数。我还设置了映射目录的权限,并启动了容器。
为了管理用户,我使用 htpasswd 生成了用户账号和密码,并将它们写入到 ~/verdaccio/storage/htpasswd 文件中。最后,我配置了客户端来发布 npm 包,包括登录 npm 私服、配置 npm 包和发布 npm 包等步骤。
通过这些步骤,我成功地在 WSL2 环境中使用 Podman 部署了 Verdaccio,并实现了 npm 包的发布和管理。希望这些经验能够帮助其他用户在类似环境中顺利部署 Verdaccio。
评论已关闭