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

embedded/2024/9/24 8:51: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/embedded/116009.html

相关文章

基于C#+SQL Server(CS界面)学生选课及成绩查询管理系统

学生选课及成绩查询管理系统的设计与开发 1、项目背景 学生选课及成绩查询系统是一个学校不可缺少的部分,传统的人工管理档案的方式存在着很多的缺点,如:效率低、保密性差等,所以开发一套综合教务系统管理软件很有必要&#xff…

手写数字识别案例分析(torch,深度学习入门)

在人工智能和机器学习的广阔领域中,手写数字识别是一个经典的入门级问题,它不仅能够帮助我们理解深度学习的基本原理,还能作为实践编程和模型训练的良好起点。本文将带您踏上手写数字识别的深度学习之旅,从数据集介绍、模型构建到…

常用的k8s容器网络模式有哪些?

常用的k8s容器网络模式包括Bridge模式、Host模式、Overlay模式、Flannel模式、CNI(ContainerNetworkInterface)模式。K8s的容器网络模式多种多样,每种模式都有其特点和适用场景。Bridge模式适用于简单的容器通信场景;Host模式适用…

手机上轻松解压并处理 JSON 文件

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,在手机上有着广泛的应用场景。 首先,在数据传输方面,许多移动应用程序通过网络请求与后端服务器进行交互,而服务器端的 API 接口通常使用 JS…

Linux-网络编程

1. 初始网络协议 “协议” 是一种约定. 打电话约定电话铃响的次数的约定 协议分层 协议本质也是软件, 在设计上为了更好的进行模块化, 解耦合, 也是被设计成为层状结构的 1.1 OSI 七层模型 OSI(Open System Interconnection&#…

【电商搜索】现代工业级电商搜索技术-Ha3搜索引擎平台简介

【电商搜索】现代工业级电商搜索技术-Ha3搜索引擎平台简介 — 初稿V1.0 Ha3搜索引擎平台详细介绍 在当今的互联网时代,搜索引擎扮演着至关重要的角色,尤其是在电子商务领域。Ha3搜索引擎平台是由阿里巴巴搜索团队开发的一个先进的搜索引擎&#xff0c…

scss知识汇总

参考资料 https://www.bilibili.com/video/BV1KJ411Y7Zz?p11 //入门 https://www.bilibili.com/video/BV1bK411H7YU?fromsearch&seid1507236772512004325 //精简 https://www.bilibili.com/video/BV1KE411b7RQ?p25 //大全h…

【bug】通过lora方式微调sdxl inpainting踩坑

报错内容 ValueError: Attempting to unscale FP16 gradients. 报错位置 if accelerator.sync_gradients:params_to_clip (itertools.chain(unet_lora_parameters, text_lora_parameters_one, text_lora_parameters_two)if args.train_text_encoderelse unet_lora_parameters…