【Docker】基于docker compose部署artifactory-cpp-ce服务

server/2024/9/23 19:56:38/

基于docker compose部署artifactory-cpp-ce服务

  • 1 环境准备
  • 2 必要文件创建与编写
  • 3 拉取镜像-创建容器并后台运行
  • 4 访问JFog Artifactory 服务

1 环境准备

  • docker 以及其插件docker compose ,我使用的版本如下图所示:
    在这里插入图片描述

  • postgresqljdbc驱动, 我使用的是java842.7.4版本的:pgJDBC 下载地址

2 必要文件创建与编写

我部署artifactory-cpp-ce是用来作为私有的conan-center 服务的,索性创建目录:artifactory-conan
下述文件,均放置于该目录下即可。

  • docker-compose.yaml
services:artifactory:image: docker.bintray.io/jfrog/artifactory-cpp-ce:latestcontainer_name: artifactoryports:- "8081:8081"- "8082:8082"environment:- ARTIFACTORY_HOME=/var/opt/jfrog/artifactory- DB_TYPE=postgresql- DB_USER=artifactory- DB_PASSWORD=123123- DB_URL=jdbc:postgresql://postgres:5432/artifactoryvolumes:- artifactory_data:/var/opt/jfrog/artifactory- ./master.key:/var/opt/jfrog/artifactory/etc/security/master.key- ./join.key:/var/opt/jfrog/artifactory/etc/security/join.key- ./db.properties:/var/opt/jfrog/artifactory/etc/db.properties- ./system.yaml:/var/opt/jfrog/artifactory/etc/system.yaml- ./postgresql-42.7.4.jar:/var/opt/jfrog/artifactory/tomcat/lib/postgresql-42.7.4.jardepends_on:postgres:condition: service_healthyhealthcheck:test: ["CMD", "pg_isready", "-U", "artifactory"]interval: 10stimeout: 5sretries: 10postgres:image: postgres:13container_name: postgresports:- "5432:5432"environment:POSTGRES_USER: artifactoryPOSTGRES_PASSWORD: 123123POSTGRES_DB: artifactoryvolumes:- postgres_data:/var/lib/postgresql/datahealthcheck:test: ["CMD-SHELL", "pg_isready -U artifactory"]interval: 10stimeout: 5sretries: 5volumes:artifactory_data:postgres_data:
  • master.key 是用于加密 Artifactory 数据的主密钥,可以生成一个随机密钥:
openssl rand -hex 32 > master.key
  • join.key是用于集群节点间通信的密钥,在单节点情况下通常不需要, 此处创建一个空的 join.key 文件
touch join.key
  • db.properties 是配置 artifactory 连接数据库的文件
type=postgresql
driver=org.postgresql.Driver
url=jdbc:postgresql://postgres:5432/artifactory
username=artifactory
password=123123
  • system.yaml, 这个文件在容器启动后会自己创建的,但是我查看其内容,发现关于数据库的配置是被注释掉的,导致容器内部一直使用默认数据库驱动,而导致出错。
shared:database:type: postgresqldriver: org.postgresql.Driverurl: jdbc:postgresql://postgres:5432/artifactoryusername: artifactorypassword: 123123
  • 第1章环境准备中下载到的 pgJDBC 驱动 jar
postgresql-42.7.4.jar

注意:需要开放容器创建时可以访问当前artifactory-conan目录的权限

  • 如果使用的是docker-desktop,请在Settings - Resources - Filesharing 添加目录的共享权限。
  • 也可以更改用户的所有者来实现,共享权限;
sudo chown -R 1030:1030 artifactory-conan

好了,至此,所有准备工作都已完成。
文件树展示:
在这里插入图片描述

3 拉取镜像-创建容器并后台运行

在当前目录执行:

docker compose up -d

4 访问JFog Artifactory 服务

浏览器访问:127.0.0.1:8081 ,会自动跳转到127.0.0.1:8082/ui/login/页面.
在这里插入图片描述
默认用户名:admin
默认密码:password


http://www.ppmy.cn/server/120957.html

相关文章

【艾思科蓝】“从零到一:使用IntelliJ IDEA打造你的梦幻HTML项目“

【JPCS独立出版】2024年工业机器人与先进制造技术国际学术会议(IRAMT 2024)_艾思科蓝_学术一站式服务平台 更多学术会议请看 学术会议-学术交流征稿-学术会议在线-艾思科蓝 目录 引言:为何选择IntelliJ IDEA? 第一步&#xff1a…

分布式系统实战经验

分布式系统是现代软件架构的核心部分,它通过多个计算节点协同工作来处理大规模数据和请求,提供高可用性、可扩展性和容错能力。在实际开发和运维中,构建分布式系统需要考虑多方面的挑战。以下是一些在分布式系统中的实战经验: 1.…

Elasticsearch 分片迁移与移除集群节点操作

Elasticsearch 分片迁移与移除集群节点操作 问题背景 在单台服务器上部署了 7 个 Elasticsearch 节点,分别为 es-node1 到 es-node7,端口从 9201 到 9207。每个节点都承载大量数据,但没有设置副本分片。由于多个节点共享同一台服务器的硬件…

vue 中互相不关联的两个组件怎么进行通信(数据传输)

1、Vuex Vuex 是 Vue 官方的状态管理模式与库。通过使用 Vuex,可以将组件间共享的数据存储在一个全局的状态树中,任何组件都可以读取这个状态,通过提交 mutations 或 dispatch actions 来修改状态。 2、Event Bus (事件总线) 创建一个全局的…

Redis面试常见问题

1.Redis的常用类型 Redis常用的类型也就那五个,我想经常看各大八股文的小伙伴,应该都熟练于心了吧!它们分别是String、Hash、List、Set、ZSet;接下来跟我一起分析这五大常用类型 String数据类型格式:key valueHash数…

活动报名| 探索存内计算的未来,共话AGI时代

活动日期:2024年09月28日 下午一点到6点 地点:杭州技术转移中心 三楼路演厅 议程亮点: 存内计算技术架构以及最新趋势AGI开源项目交流存内计算实操上板体验 存内计算 ——突破物理极限的下一代算力技术 直接消除“存”“算”界限&…

【算法思想·二叉树】最近公共祖先问题

本文参考labuladong算法笔记[拓展:最近公共祖先系列解题框架 | labuladong 的算法笔记] 0、引言 如果说笔试的时候经常遇到各种动归回溯这类稍有难度的题目,那么面试会倾向于一些比较经典的问题,难度不算大,而且也比较实用。 本…

爱因斯坦到底说过?没说过?人类认知之源在何处

目录 说过?没说过?说过!没说过! 个人想法说过! 参考链接及文献 说过?没说过? 近来研究大脑发育,遇到了一个问题就是为什么大脑可以认识世界,其次才是如何认识世界。记得…