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

基于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.xdnf.cn/news/1542441.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Origin2021中文版详尽安装教程、附安装包下载

各位小伙伴们呀~ 今天给大家讲解下origin2021如何安装,相信你按照教程来操作,一定可以安装成功的。 废话不多少,正文开始~ tips:提前推出所有杀毒软件可不相干的软件,以免影响安装。 origin2021中文版安装教程 1.下…

御风于海,向阳而生!第六届中国互联网牛友会圆满落幕

近日,第六届中国互联网牛友会近日在大理实力喜来登酒店圆满落幕,本次盛会吸引了超过五百名行业精英与创业者共襄盛举。大会以“御风于海,向阳而生”为主题,聚焦于互联网出海、AI大模型、新媒体及WEB3等前沿科技与趋势,…

MySQL数据库select语句详细用法三(子查询及其select练习)

SELECT *FROM student2 WHERE age > (SELECT age FROM student2 WHERE NAME 欧阳丹丹) 首先解释一下括号中的代码,意思是在查询student2中的name为欧阳丹丹的人的名字,然后解释一下整个语句的意思:在括号中查询出来的字段中再次进行查询…

VUE3学习---【一】【从零开始的VUE学习】

目录​​​​​​​ 什么是Vue 渐进式框架 创建一个Vue应用 什么是Vue应用 使用Vue应用 根组件 挂载应用 模板语法 文本插值 原始HTML Attribute绑定 简写 同名简写 布尔型Attribute 动态绑定多个值 使用JavaScript表达式 仅支持表达式 指令 Directives 指令…

QString 构建SQL语句可以往数据库中添加“\n“字符串

网上找了很多案例关于怎么样能在Mysql数据库中插入带\n的字符串,如图: 本以为很容易的一件事,没想到思考了半天,在这里记录一下,以为\n是转义字符的原因,所以并不是我想的那么简单。网上有用R(“…

【算法业务】互联网风控业务中的拒绝推断场景算法应用分享(涉及半监督算法、异常检测、变分自编码、样本权重自适应调整、迁移学习等)

1. 业务目标和任务描述 该项目是很早期的一个工作,属于互联网信贷风控场景,研究并应用信贷中的拒绝推断任务,处理方式也许对于目前的一些业务还有参考意义,因此这里做下分享。拒绝推断是指在信贷业务中,利用已知的接受…

《2024 年全球人工智能趋势报告》:GPU、数据架构依然是巨大挑战

导语:对于众多行业用户而言,了解人工智能如何改变行业、如何利用人工智能保持领先地位,已成为一道时代的必答题。全球著名调研机构WEKA近日正式发布《2024 年全球人工智能趋势报告》,该报告基于全球1500名人工智能决策者的深度调查…

【项目】基于 Huffman 算法实现文件压缩

摘要:记录通过学习Huffman算法自主实现简单的文件压缩程序的过程。 什么是文件压缩 在古诗词中,这种信息的高度浓缩体现得淋漓尽致。例如王维的《使至塞上》中的名句 “ 大漠孤烟直,长河落日圆 ”。仅仅十个字,却描绘出了一幅极为…

MoveIt控制机械臂的运动实现——机器人抓取系统基础系列(二)

文章目录 概要1 用户接口和代码案例2 不同的规划类型2.1 关节空间规划2.2 工作空间规划2.3 笛卡尔空间规划 3 MoveIt运行实操4 相关资料推荐小结 概要 MoveIt为开发者提供了针对机械臂的集成化开发平台,由一系列操作相关的功能包组成,包括运动规划、操作…

从 Affine Particle-In-Cell (APIC) 到 Material Point Method (MPM 物质点法)

APIC与MPM Particle-In-Cell (PIC)Affine Particle-In-Cell (APIC)Material Point Method (MPM)关于边界投影等额外操作 Material Point Method (MPM 物质点法)是一种混合欧拉-拉格朗日视角物理仿真方法。 欧拉视角即网格视角,将空间划分为网格,通过表示…

从一到无穷大 #35 Velox Parquet Reader 能力边界

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。 文章目录 引言源码分析功能描述功能展望 引言 InfluxDB IOX这样完全不使用索引,只…

JavaEE: 深入探索TCP网络编程的奇妙世界(四)

文章目录 TCP核心机制TCP核心机制四: 滑动窗口为啥要使用滑动窗口?滑动窗口介绍滑动窗口出现丢包咋办? TCP核心机制五: 流量控制 TCP核心机制 书接上文~ TCP核心机制四: 滑动窗口 为啥要使用滑动窗口? 之前我们讨论了确认应答策略,对每一个发送的数据段,都要给一个ACK确…

centos7下openssh升级方法(编译安装)

注意: 首先打开两个或以上的shell连接,因为在升级过程中如果升级失败会导致不发新建shell连接;升级后使用xshell6,7连接,openssh版本对应修改,下载地址: https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/por…

Servlet day2(概念理解)

Servlet体系结构 Servlet相关配置 HTTP协议内容

leetcode746. 使用最小花费爬楼梯,动态规划

leetcode746. 使用最小花费爬楼梯 给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶…

计算机毕业设计 基于SpringBoot的小区运动中心预约管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

Java笔试面试题AI答之设计模式(4)

文章目录 16. 简述什么是观察者模式?基本概念主要特点实现方式应用场景优缺点 17. 请列举观察者模式应用场景 ?18. 请用Java代码实现观察者模式的案例 ?19. 什么是装饰模式?定义与特点结构与角色工作原理优点应用场景示例 20. 请用…

基于大数据的电子产品需求数据分析系统的设计与实现(Python Vue Flask Mysql)

💗博主介绍💗:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示:文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…

【GlobalMapper精品教程】088:按点线面空间位置选择案例

按点线面空间位置选择的原则为:点线面的排列组合。 文章目录 一、选择线要素附近的点二、选择相交或触碰所选线的区和线三、选择包含点的区要素四、选择选定区域内的点要素一、选择线要素附近的点 启动该工具之前,首先要选择线,例如,选择某一段铁路5km范围之内的县城驻地。…

DeepSeek 2.5本地部署的实战教程

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于大模型算法的研究与应用。曾担任百度千帆大模型比赛、BPAA算法大赛评委,编写微软OpenAI考试认证指导手册。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。授权多项发明专利。对机器学…