基于docker compose部署artifactory-cpp-ce服务
- 1 环境准备
- 2 必要文件创建与编写
- 3 拉取镜像-创建容器并后台运行
- 4 访问JFog Artifactory 服务
1 环境准备
-
docker
以及其插件docker compose
,我使用的版本如下图所示:
-
postgresql
的jdbc
驱动, 我使用的是java8
的42.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