使用Docker构建前端工程时,按照常规方法从node:tls
镜像开始下载依赖包,构建的大部分时间都耗在npm
依赖包下载了。为了提高前端的构建速度,我们可以把工程的依赖包先缓存到镜像中,再构建工程时就不需要从远程下载。因yarn
可以锁定依赖包的版本,我们使用yarn
代替npm
工具,避免npm
工具每次下载底层依赖包的版本可能不同。
本文代码: https://github.com/kinsprite/react-my-app-ts
继续阅读→
目前,微服务是比较流行且成熟的后端架构。这几年来,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
继续阅读→
内部DevOps环境,一般需要部署私有的Docker Registry服务,避免打包的镜像需要上传到公网,加速私有服务容器的部署。
本文使用独立的Ubuntu Service 18.04服务器提供Docker registry服务,使用80与443端口。使用Nginx接入Docker registry与registry-ui的流量,均使用Docker容器提供服务(Everything in Docker)。
继续阅读→
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服务端中,只需执行以下命令:
继续阅读→
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
继续阅读→