Category: Development

Harbor 安装部署

官方发布地址:https://github.com/goharbor/harbor/releases
程序版本依赖:docker 17.03.0-ce+ and docker-compose 1.18.0+ .

Harbor支持在线安装及离线安装,此文章采用在线离线安装的形式,且安装版本为1.8.0

一、下载安装程序

# 下载
wget https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.0.tgz

# 解压
tar xvf harbor-offline-installer-v1.8.0.tgz

二、配置

配置参数位于文件harbor.yml中

以下是我的配置,可根据自己的需求设定。

这里的https证书是我在腾讯云申请的免费SSL证书,你如果在腾讯云注册有域名也可以在这里 https://console.cloud.tencent.com/ssl 直接申请,当然你也可以使用免费证书的申请。

如下证书使用的是腾讯云申请的 DV SSL证书(Domain Validation SSL),申请后大概一小时会通过邮件得到信息,将申请到的证书下载下来,使用Nginx包内的Crt及Key文件即可。

hostname: hub.youvigo.com

# https related config
https:
  port: 443
  certificate: /data/cert/server.crt
  private_key: /data/cert/server.key

harbor_admin_password: youpassword

# The default data volume
data_volume: /data/harbor/data

三、安装

./install

Docker 批量删除镜像

删除所有容器

docker rm `docker ps -a -q`

删除所有镜像

docker rmi `docker images -q`

按条件删除镜像

# 没有标签
docker rmi `docker images | awk '/^<none>/ { print $3 }'`

# 按名称
docker rmi --force `docker images | grep goharbor | awk '{print $3}'`

删除不干净,强制清空

systemctl stop docker
rm -rf /var/lib/docker
systemctl start docker

psql connect docker postgresql

方式一、

docker exec -u 0 -it <CONTAINER ID> bash
su postgres
psql -U <DBUSER> -W -d <DBNAME>

# 查看PGSQL默认服务
pstree

方式二、

docker run -it --rm --network docker_odoonetwork postgres psql -h pgsql -U odoo -d analogcircuit

docker-compose.yml

version: '2'
services:
  web:
    image: odoo:12.0
    container_name: odoo
    depends_on:
      - db
    ports:
      - "8069:8069"
    networks:
      - "odoonetwork"
    volumes:
      - odoo-web-data:/var/lib/odoo
      - ./config:/etc/odoo
      - ./addons:/mnt/extra-addons
  db:
    image: postgres:10
    container_name: pgsql
    networks:
      - "odoonetwork"
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_PASSWORD=odoo
      - POSTGRES_USER=odoo
      - PGDATA=/var/lib/postgresql/data/pgdata
    volumes:
      - odoo-db-data:/var/lib/postgresql/data/pgdata
networks:
  odoonetwork:
    driver: bridge  
volumes:
  odoo-web-data:
  odoo-db-data:

Process finished with exit code -1073740940 (0xC0000374)

问题重现

最近将系统升级到了Windows LTSC 2019,且使用了较新的Python(3.7.3),在调试Odoo12的时候,Pycharm直接抛出错误"Process finished with exit code -1073740940 (0xC0000374)",经过各方查证,发现问题是由于locale这个包引起的。

Locale

解决方法

控制面板—>区域

区域
设置

到此,重启计算机,问题修复。

参考来源:https://youtrack.jetbrains.com/issue/PY-33045

Oracle start with…connect by prior

Oracle中start with…connect by prior子句用法connect by 是结构化查询中用到的,其基本语法是

select column_name from tablename
start with 条件1
connect by 条件2
where 条件3;

简单说来是将一个树状结构存储在一张表里,比如一个表中存在两个字段:org_id,parent_id,那么通过表示每一条记录的parent是谁,就可以形成一个树状结构,用上述语法的查询可以取得这棵树的所有记录。

prior 关键字表示父数据,prior 条件表示子数据需要满足父数据的什么条件。

实际使用

在项目中我们经常用到层级编码,例如:301090213,他其实是一个按照每2个数值分割的一种树形数据结构,在实际使用中我们希望通过301090213这个编码找出它所对应的所有父级数据。

常规情况我们会使用Like关键字来直接查找,这里其实Oracle提供了树形查找的方式。

我们其实可以这样写代码即可

SELECT * invname from
  bd_invcl
  start WITH pk_invcl = 'pk'
  connect by invcode = prior substr(invcode, 0, length(invcode) -2);

拼接字符

SELECT wm_concat(invname) from
   bd_invcl
   start WITH pk_invcl = 'pk'
   connect by invcode = prior substr(invcode, 0, length(invcode) -2);

Archives