【Docker】基于docker compose摆设artifactory-cpp-ce服务

打印 上一主题 下一主题

主题 1607|帖子 1607|积分 4821

1 情况准备



  • docker 以及其插件docker compose ,我使用的版本如下图所示:

  • postgresql 的jdbc驱动, 我使用的是java8 的42.7.4版本的:pgJDBC 下载地址
2 必要文件创建与编写

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

  • docker-compose.yaml
  1. services:
  2.   artifactory:
  3.     image: docker.bintray.io/jfrog/artifactory-cpp-ce:latest
  4.     container_name: artifactory
  5.     ports:
  6.       - "8081:8081"
  7.       - "8082:8082"
  8.     environment:
  9.       - ARTIFACTORY_HOME=/var/opt/jfrog/artifactory
  10.       - DB_TYPE=postgresql
  11.       - DB_USER=artifactory
  12.       - DB_PASSWORD=123123
  13.       - DB_URL=jdbc:postgresql://postgres:5432/artifactory
  14.     volumes:
  15.       - artifactory_data:/var/opt/jfrog/artifactory
  16.       - ./master.key:/var/opt/jfrog/artifactory/etc/security/master.key
  17.       - ./join.key:/var/opt/jfrog/artifactory/etc/security/join.key
  18.       - ./db.properties:/var/opt/jfrog/artifactory/etc/db.properties
  19.       - ./system.yaml:/var/opt/jfrog/artifactory/etc/system.yaml
  20.       - ./postgresql-42.7.4.jar
  21. :/var/opt/jfrog/artifactory/tomcat/lib/postgresql-42.7.4.jar
  22.     depends_on:
  23.       postgres:
  24.         condition: service_healthy
  25.     healthcheck:
  26.       test: ["CMD", "pg_isready", "-U", "artifactory"]
  27.       interval: 10s
  28.       timeout: 5s
  29.       retries: 10
  30.   postgres:
  31.     image: postgres:13
  32.     container_name: postgres
  33.     ports:
  34.       - "5432:5432"
  35.     environment:
  36.       POSTGRES_USER: artifactory
  37.       POSTGRES_PASSWORD: 123123
  38.       POSTGRES_DB: artifactory
  39.     volumes:
  40.       - postgres_data:/var/lib/postgresql/data
  41.     healthcheck:
  42.       test: ["CMD-SHELL", "pg_isready -U artifactory"]
  43.       interval: 10s
  44.       timeout: 5s
  45.       retries: 5
  46. volumes:
  47.   artifactory_data:
  48.   postgres_data:
复制代码


  • master.key 是用于加密 Artifactory 数据的主密钥,可以天生一个随机密钥:
  1. openssl rand -hex 32 > master.key
复制代码


  • join.key是用于集群节点间通信的密钥,在单节点情况下通常不需要, 此处创建一个空的 join.key 文件
  1. touch join.key
复制代码


  • db.properties 是配置 artifactory 毗连数据库的文件
  1. type=postgresql
  2. driver=org.postgresql.Driver
  3. url=jdbc:postgresql://postgres:5432/artifactory
  4. username=artifactory
  5. password=123123
复制代码


  • system.yaml, 这个文件在容器启动后会自己创建的,但是我检察其内容,发现关于数据库的配置是被注释掉的,导致容器内部不停使用默认数据库驱动,而导致出错。
  1. shared:
  2.     database:
  3.         type: postgresql
  4.         driver: org.postgresql.Driver
  5.         url: jdbc:postgresql://postgres:5432/artifactory
  6.         username: artifactory
  7.         password: 123123
复制代码


  • 第1章情况准备中下载到的 pgJDBC 驱动 jar 包
  1. postgresql-42.7.4.jar
复制代码
留意:需要开放容器创建时可以访问当前artifactory-conan目录的权限


  • 如果使用的是docker-desktop,请在Settings - Resources - Filesharing 添加目录的共享权限。
  • 也可以更改用户的所有者来实现,共享权限;
  1. sudo chown -R 1030:1030 artifactory-conan
复制代码
好了,至此,所有准备工作都已完成。
文件树展示:

3 拉取镜像-创建容器并配景运行

在当前目录执行:
  1. docker compose up -d
复制代码
4 访问JFog Artifactory 服务

浏览器访问:127.0.0.1:8081 ,会自动跳转到127.0.0.1:8082/ui/login/页面.

默认用户名:admin
默认密码:password

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

缠丝猫

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表