软件技术学习笔记

个人博客,记录软件技术与程序员的点点滴滴。

前端构建加速—Docker, Yarn, React

使用Docker构建前端工程时,按照常规方法从node:tls镜像开始下载依赖包,构建的大部分时间都耗在npm依赖包下载了。为了提高前端的构建速度,我们可以把工程的依赖包先缓存到镜像中,再构建工程时就不需要从远程下载。因yarn可以锁定依赖包的版本,我们使用yarn代替npm工具,避免npm工具每次下载底层依赖包的版本可能不同。

本文代码: https://github.com/kinsprite/react-my-app-ts

继续阅读→

基于Docker、K8S和GitLab的云原生微服务Auto-DevOps

目前,微服务是比较流行且成熟的后端架构。这几年来,K8S、云原生与Service Mesh也比较火热。

去年开始接触到K8S,然后开始学习互联网架构与云原生,前段时间有空在自己的笔记本中搭建开放环境。环境准备如下:

  • DNS服务:阿里云域名服务,解析qinzhiqiang.cn的子域名到本地VM IP
  • 宿主:Windows 10 专业版 + Hyper-V,CPU四核八线程,内存32G,使用Docker CLI
  • VM1:Ubuntu 18.04 Server + Docker,提供Docker daemon、Docker registry服务,内存2G
  • VM2:Ubuntu 18.04 Server + Docker,提供GitLab服务,内存8G
  • VM3:Ubuntu 18.04 Server + Docker,提供K8S服务,内存16G
继续阅读→

Ubuntu中部署Docker Registry与Docker Registry UI

内部DevOps环境,一般需要部署私有的Docker Registry服务,避免打包的镜像需要上传到公网,加速私有服务容器的部署。

本文使用独立的Ubuntu Service 18.04服务器提供Docker registry服务,使用80与443端口。使用Nginx接入Docker registry与registry-ui的流量,均使用Docker容器提供服务(Everything in Docker)。

继续阅读→

开放Docker Daemon远程访问端口(TCP 2375)

Docker本身是C/S架构,Docker CLI –> Docker daemon。在本地Windows开发环境中,我们可以远程操作Linux环境中的Docker。在Docker容器中使用共享的远程Docker,可以避免每个容器中独立下载Docker Images的缓慢现象。

官方文档,见 https://docs.docker.com/config/daemon/systemd/https://docs.docker.com/install/linux/linux-postinstall/#configure-where-the-docker-daemon-listens-for-connections

在Ubuntu 18.04 Docker服务端中,只需执行以下命令:

继续阅读→

Ubuntu 18.04中安装Docker

Docker是云原生的基石,服务软件都可以包含到Docker容器中,服务软件之间相互隔离。云原生时代,几乎到了“没有服务可以脱离Docker容器”。

服务器使用Ubuntu Server 18.04,后续安装其他软件与维护都比较方便。

sudo apt-get update
sudo apt-get install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker
继续阅读→