Github build golang docker image

Submitted by Lizhe on Tue, 10/20/2020 - 10:23

 

name: Docker Image CI

 

on:

  push:

    branches: [ master ]

  pull_request:

    branches: [ master ]

 

jobs:

 

  build:

 

    runs-on: ubuntu-latest

 

    steps:

    - uses: actions/checkout@v2

 

    - name: Build and Push Docker Iamge

      uses: docker/build-push-action@v1

      with: 

        username: ${{ secrets.username }}

        password: ${{ secrets.password }}

CircleCI build golang docker image

Submitted by Lizhe on Tue, 10/20/2020 - 10:20

 

version: 2

jobs:

  build:

    docker:

      - image: golang:alpine3.12

        auth:

          username: libaibai

          password: $password

 

    steps:

      - checkout

      - setup_remote_docker:

          version: 19.03.13

          docker_layer_caching: false

      - run:

          name: Install Docker client

          command: apk add docker-cli

      - run: |

          TAG=0.1

hybris 2005 版本集群配置笔记 2

Submitted by Lizhe on Thu, 10/15/2020 - 07:45

这里需要先将前面启动的 hybris 容器化

正常来说 hybris 可以被分割打成几个不同的 image , 分别用于启动 solr 和 tomcat 等

这里图省事就不分割了,单独的镜像大约 6GB

 

FROM ubuntu

COPY ./jdk-11.0.8_linux-x64_bin.deb /root/
RUN apt update -y && apt install -y libasound2
RUN dpkg -i /root/jdk-11.0.8_linux-x64_bin.deb
RUN update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk-11.0.8/bin/java" 1
RUN update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk-11.0.8/bin/javac" 1

hybris 2005 版本集群配置笔记 1

Submitted by Lizhe on Wed, 10/14/2020 - 08:05

本篇仅尝试 常规局域网内,不涉及 kubernetes

首先来配置数据库

docker run -p 3306:3306 --name mysql  -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

create database integration;

 

20201014035926

 

CREATE USER hybris IDENTIFIED BY 'hybris';

GRANT ALL PRIVILEGES ON integration.* TO hybris WITH GRANT OPTION;

 

拷贝 jdbc 驱动到

Rasa forms

Submitted by Lizhe on Thu, 09/03/2020 - 02:25

一种常见情形是,使用聊天机器人来搜集用户提供的信息,在rasa中,一般这种行为叫做

slot filling

需要在 policy 中添加

 

policies:

  - name: FormPolicy

  - name: MemoizationPolicy

  - name: TEDPolicy

    max_history: 5

    epochs: 100

  - name: MappingPolicy

 

这里我使用的是官方例子,不过做了一些小修改 

 

## request restaurant happy path

* request_restaurant

    - restaurant_form

    - form{"name": "restaurant_form"}

    - form{"name": null}

docker ubuntu python3.7

Submitted by Lizhe on Fri, 08/07/2020 - 16:22

FROM ubuntu:18.04

# Set temp work directory

# for package configuration

WORKDIR /usr/src/cache

# Update apt packages RUN apt update RUN apt upgrade -y

# Install vim

RUN apt install vim -y

# Install python 3.7

RUN apt install software-properties-common -y

RUN add-apt-repository ppa:deadsnakes/ppa

RUN apt install python3.7 -y # Make python 3.7 the default

Docker GPU

Submitted by Lizhe on Thu, 07/30/2020 - 09:16

 

插播一个备忘录

sudo apt install docker.io

sudo usermod -a -G docker lizhe

然后正常退出,重启docker保证能正常使用

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -

curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt-get update

sudo apt-get install -y nvidia-container-toolkit

Kubernetes 网络 (4) Linux bridge

Submitted by Lizhe on Thu, 07/30/2020 - 02:00

要连接两个以上的 namespace , 需要使用 Linux bridge。

网桥是二层网络设备,两个端口分别有一条独立的交换信道,不共享背板总线,可以隔离冲突 (比集线器性能好一些,集线器共享同一条背板总线)

不过目前网桥已经被具有更多端口、可隔离冲突域的交换机取代了。

Linux 网桥 和 其他的网络设备区别在于, 普通设备(例如网卡)只有两端,从一端进去从另一端出来。

物理网卡从网络中收到数据,转发给 内核协议栈 , 从内核协议栈过来的数据会转发到外面的物理网络中。

 

Linux 网桥 有多个端口,数据可以从任何端口进来,然后取决于 MAC 地址,选择从哪个口出去,原理和交换机差不多

 

创建一个网桥

 

root@ubuntu:/home/lizhe# ip link add name br0 type bridge
root@ubuntu:/home/lizhe# ip link set br0 up
root@ubuntu:/home/lizhe# 

刚创建的网桥只有一端连接着协议栈