我正在docker registry
Nexus 3 配置上进行配置。我在 apache 后面运行 Nexus 并启用了 https。
在命令行上,当我执行 a 时docker search
,出现以下错误:
docker 搜索 my.nexus.net/ubantu
来自守护程序的错误响应:意外的状态代码 404
这是调试模式下的守护进程日志:
DEBU[7519] Calling GET /images/search
INFO[7519] GET /v1.19/images/search?term=my.nexus.net%2Fubantu
DEBU[7519] pinging registry endpoint https://my.nexus.net/v0/
DEBU[7519] attempting v2 ping for registry endpoint https://my.nexus.net/v2/
DEBU[7519] hostDir: /etc/docker/certs.d/my.nexus.net
DEBU[7519] attempting v1 ping for registry endpoint https://my.nexus.net/v1/
DEBU[7519] hostDir: /etc/docker/certs.d/my.nexus.net
DEBU[7519] Error unmarshalling the _ping RegistryInfo: invalid character '<' looking for beginning of value
DEBU[7519] RegistryInfo.Version: ""
DEBU[7519] Registry standalone header: ''
DEBU[7519] …
Run Code Online (Sandbox Code Playgroud) 我运行迁移实用程序将 Nexus 2 (2.14) 升级到 Nexus 3.40-02。
Nexus 3 迁移工具带来了 2.14 实例中的所有内容,但巧妙地更改了所有 Maven 存储库的 URL。
例如
https://nexus.foo.net/content/repositories/releases
成为
https://nexus.foo.net/repository/releases
如果我使用管理员帐户进入 Nexus 3 UI,浏览到存储库/设置,我可以看到 URL,但无法更改它。
这看起来确实很危险,因为 Nexus URL 是由数百个或更多使用 jar 的最终用户在 pom 中编码的。为什么迁移工具会这样更改 URL?另外,我在文档中找不到任何关于为什么 URL 字段在“设置”下可见但无法更改以修复它的信息。
有人对出了什么问题有任何想法吗?
谢谢。
我是 Nexus3 的新手,我按照此处的说明上传 PyPI 包(python v2.7):https://books.sonatype.com/nexus-book/3.0/reference/pypi.html
但是,我得到了以下消息阻止我上传包。
HTTPError:401 客户端错误:URL 未经授权
我执行了以下步骤,不确定是否错过了任何内容:
1. 在 Nexus3 中设置 blob 和存储库名称
2. 将 url 复制到 .pypirc
3.python setup.py sdist; twine upload -r nexus3 dist/[secure]-0.1.0.tar.gz
请推荐,谢谢!
在 Nexus 3 中备份程序已更改。
在 Nexus 2 中,建议运行 OS 计划任务/cron 作业以将某些目录 rsync 同步到备份位置。
在 Nexus 3 中,推荐的方法似乎是为备份 Task创建安排预定义的 Nexus Task Export 配置和元数据。然后还创建一个 cron 作业来备份通过此任务导出的内容。
在 Nexus 3 中是否仍然可以进行旧式备份?关闭服务器并备份某些目录?然后为了恢复只是把所有东西都放回去?那行得通吗?
或者使用命令行来运行这个任务?
在 Nexus 3 中这样做的方式似乎没有经过深思熟虑。您需要做更多的工作才能完成 Nexus 2 中的单个 cron 作业所能完成的工作:
例如参见https://help.sonatype.com/display/NXRM3/Restore+Exported+Databases
我们正在删除旧的 docker 镜像并保留最后 10 个镜像。我们尝试了 Compact Blob 存储任务来物理删除它们,但在管理/存储库设置中,Blob 存储在删除图像后仍然显示相同的大小。
这是紧凑的 blob 存储日志:
2018-06-28 14:18:40,709+0200 INFO [quartz-6-thread-20] *SYSTEM org.sonatype.nexus.blobstore.compact.internal.CompactBlobStoreTask - Task information:
2018-06-28 14:18:40,712+0200 INFO [quartz-6-thread-20] *SYSTEM org.sonatype.nexus.blobstore.compact.internal.CompactBlobStoreTask - ID: 2bf9a574-f3e6-4f8e-8351-d98e4abc5103
2018-06-28 14:18:40,712+0200 INFO [quartz-6-thread-20] *SYSTEM org.sonatype.nexus.blobstore.compact.internal.CompactBlobStoreTask - Type: blobstore.compact
2018-06-28 14:18:40,712+0200 INFO [quartz-6-thread-20] *SYSTEM org.sonatype.nexus.blobstore.compact.internal.CompactBlobStoreTask - Name: cbs
2018-06-28 14:18:40,712+0200 INFO [quartz-6-thread-20] *SYSTEM org.sonatype.nexus.blobstore.compact.internal.CompactBlobStoreTask - Description: Compacting default blob store
2018-06-28 14:18:40,713+0200 INFO [quartz-6-thread-20] *SYSTEM org.sonatype.nexus.blobstore.file.FileBlobStore - Deletions index file rebuild not required
2018-06-28 14:18:40,713+0200 INFO [quartz-6-thread-20] *SYSTEM org.sonatype.nexus.blobstore.file.FileBlobStore - …
Run Code Online (Sandbox Code Playgroud) 当我在 docker 容器中启动 nexus3 时,我收到以下错误消息。
$ docker run --rm sonatype/nexus3:3.8.0
Warning: Cannot open log file: ../sonatype-work/nexus3/log/jvm.log
Warning: Forcing option -XX:LogFile=/tmp/jvm.log
Java HotSpot(TM) 64-Bit Server VM warning: Cannot open file ../sonatype-work/nexus3/log/jvm.log due to Permission denied
Unable to update instance pid: Unable to create directory /nexus-data/instances
/nexus-data/log/karaf.log (Permission denied)
Unable to update instance pid: Unable to create directory /nexus-data/instances
Run Code Online (Sandbox Code Playgroud)
它表明存在文件权限问题。我使用 Red Hat Enterprise Linux 7.5 作为主机和最新的 docker 版本。
在另一台机器(ubuntu)上它工作正常。
该问题发生在持久卷 (/nexus-data) 中。但是,我没有挂载特定的卷,而是让 docker 使用匿名卷。
如果我比较两台机器上的卷,我可以看到以下权限:
对于 Red Hat,它不工作的地方属于 root。
$ docker run …
Run Code Online (Sandbox Code Playgroud) 我的 CENTOS7 机器上的磁盘已满。无需删除任何内容即可安全地释放一些空间,而不会有损坏某些内容的风险。
由于磁盘已满,OrientDB 已切换到只读模式,因此我无法创建紧凑 Blob 存储任务来清理磁盘空间。我需要手动执行此操作。
是否可以找到“紧凑 blob 存储”任务的源并手动/外部运行它?
Nexus 版本是 3.12.1-01
多谢!
我试图让 Nexus3 在 Nginx 后面运行。
Nginx 用作反向代理和 SSL 终止。通过 Nginx 访问 /nexus 路径时,我收到多个错误,例如“由于无法访问服务器而导致操作失败”和“无法检测到您连接到哪个节点”。在不通过 Nginx 的情况下访问 Nexus UI 效果很好,这让我认为错误出在 Nginx 上。
NginX 配置文件
location /nexus {
proxy_pass http://localhost:8081/nexus/;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
resolver 8.8.8.8 8.8.4.4 ipv6=off;
}
Run Code Online (Sandbox Code Playgroud) 当我尝试每周重新启动 Nexus3 容器并连接到我拥有的 S3 存储桶时,出现了这个问题。我将容器设置为可以很好地连接到 S3 存储桶(它[A-Z,0-9]-metrics.properties
每次都会创建一个新文件),但在查看 UI 时找不到以前的工件。
我使用了Repair - Reconcile component database from blob store
UI 设置中的任务,效果非常好!
但是...前面的所有步骤都是通过脚本自动完成的,我希望Reconciling the blob store的最后一步也是如此。
Connecting to the S3 blob store is done with reference to examples from nexus-book-examples. As below:
Map<String, String> config = new HashMap<>()
config.put("bucket", "nexus-artifact-storage")
blobStore.createS3BlobStore('nexus-artifact-storage', config)
Run Code Online (Sandbox Code Playgroud)
AWS credentials are provided during the docker run
step so the above is all that is needed for the blob store set up. It is …
我已经安装Nexus
在Ubuntu 18.04 LTS
. 当我想启动Nexus
服务时出现此错误:
nexus[24049]: No suitable Java Virtual Machine could be found on your system.
nexus[24049]: The version of the JVM must be at least 1.8 and at most 1.8.
nexus[24049]: Please define INSTALL4J_JAVA_HOME to point to a suitable JVM.
systemd[1]: nexus.service: Control process exited, code=exited status=83
systemd[1]: nexus.service: Failed with result 'exit-code'.
systemd[1]: Failed to start LSB: nexus.
Run Code Online (Sandbox Code Playgroud)
我已经Open JDK version 10.0.2
在我的系统中安装了:
openjdk version "10.0.2" 2018-07-17
OpenJDK Runtime Environment (build …
Run Code Online (Sandbox Code Playgroud)