Docker搭建Nexus3

Nexus是一个强大的仓库管理工具,可以用来存储各种软件构建产物,包括Java、npm、Docker等。在本文中,我们将使用Docker来搭建Nexus3,并且演示如何配置Nexus3来管理Docker镜像。

Docker安装

首先,我们需要安装Docker。在Ubuntu系统上,可以通过以下命令来安装Docker:

sudo apt-get update
sudo apt-get install docker.io

安装完成后,可以通过以下命令来启动Docker服务:

sudo systemctl start docker

搭建Nexus3

接下来,我们将使用Docker来搭建Nexus3。首先,我们需要创建一个Nexus3的Docker容器:

docker run -d -p 8081:8081 --name nexus sonatype/nexus3

上面的命令会从Docker Hub上拉取最新的Nexus3镜像,并且在后台运行一个名为nexus的容器,映射主机的8081端口到容器的8081端口。

配置Nexus3

访问http://localhost:8081,会看到Nexus3的登录界面。初始用户名为admin,密码为admin123,第一次登录需要修改密码。

登录后,我们需要创建一个Docker仓库来存储Docker镜像。点击左侧的“仓库”->“仓库列表”->“创建仓库”,选择“docker (hosted)”类型,填写仓库名称为docker-hosted,然后保存。

接着,创建一个Docker镜像仓库代理,点击左侧的“仓库”->“仓库列表”->“创建仓库”,选择“docker (proxy)”类型,填写仓库名称为docker-proxy,代理仓库URL填写为`

最后,创建一个Docker组合仓库,点击左侧的“仓库”->“仓库列表”->“创建仓库”,选择“docker (group)”类型,填写仓库名称为docker-group,选择刚才创建的docker-hosteddocker-proxy仓库,然后保存。

使用Nexus3管理Docker镜像

现在,我们已经成功搭建并配置好了Nexus3,可以使用它来管理Docker镜像了。首先,我们需要在本地安装Docker客户端。

接着,配置Docker客户端来使用Nexus3作为Docker镜像仓库。编辑/etc/docker/daemon.json文件,添加以下内容:

{
  "insecure-registries": ["localhost:8081"]
}

保存文件后,重启Docker服务:

sudo systemctl restart docker

现在,我们可以从Nexus3拉取或推送Docker镜像了。比如,拉取一个官方的Ubuntu镜像:

docker pull localhost:8081/docker-group/ubuntu

推送一个自定义的镜像到Nexus3:

docker tag my-image localhost:8081/docker-group/my-image
docker push localhost:8081/docker-group/my-image

Nexus3类图

下面是Nexus3的类图,展示了Nexus3的一些核心类及其关系:

classDiagram
    class Repository
    class DockerRepository
    class HostedDockerRepository
    class ProxyDockerRepository
    class GroupDockerRepository

    Repository <|-- DockerRepository
    DockerRepository <|-- HostedDockerRepository
    DockerRepository <|-- ProxyDockerRepository
    DockerRepository <|-- GroupDockerRepository

结语

通过本文的介绍,我们学习了如何使用Docker搭建Nexus3,并配置Nexus3来管理Docker镜像。Nexus3作为一个强大的仓库管理工具,可以帮助我们更好地管理和使用各种软件构建产物,提升开发和部署效率。希望本文对您有所帮助!