使用Docker buildx构建多平台的镜像

介绍

官网:Docker Buildx

在日常的开发中,我们会有让程序在不同平台运行的需求。除了常用的Windows系统,Linux系统以及Mac OS系统外,我们甚至还希望让程序运行在以树莓派为代表的ARM平台下,或者是跑在嵌入式设备的路由器上。要构建出适合不同平台的镜像并不是一件容易的事情,除非你直接到目标平台下构建,或者模拟出目标平台下的环境来进行构建。

幸好,新版的Docker从版本19.03后已经开始支持一个新的命令行工具,叫做buildx,目地就是为了解决我们在一个平台下,一次性构建出多个平台可用镜像的需求。BuildKit 是下一代的 Docker 镜像构建工具,来源于 Moby/BuildKit。在最新的 Docker Desktop 和 Docker CE 中,官方以 Buildx 形式集成到 Docker CLI 中,不再需要额外构建添加。buildx是一个基于命令行的Docker扩展插件。

本章以macOS示例

阅读更多
Nexus3管理maven

Nexus3管理maven

Nexus安装

java后端开发人员,对于maven应该不会陌生,对于一些优秀的jar,我们都可以在maven仓库当中找到,同时maven还提供各类插件进行项目级的编译、打包等工作。通过maven很大程度解决了我们对于包管理的问题。无论是使用外部库还是内部发布的jar包管理,基于nexus的maven私服为我们提供了这中管理功能。

阅读更多
Nexus3介绍与安装

Nexus3介绍与安装

Nexus介绍

目前 Nexus 分为 Nexus 2 和 Nexus 3 两个大版本,它们是并行的关系。与 Nexus 2 相比,Nexus 3 具有很多优势,例如支持更多的仓库格式(docker)、优化了用户的使用界面以及更加强大的搜索功能等等。这里介绍nexus3版本。

阅读更多
Nexus3管理docker

Nexus3管理docker

Nexus安装

使用 Docker 官方的 Registry 创建的仓库面临一些维护问题。比如某些镜像删除以后空间默认是不会回收的,需要一些命令去回收空间然后重启 Registry。在企业中把内部的一些工具包放入 Nexus 中是比较常见的做法,最新版本 Nexus3.x 全面支持 Docker 的私有镜像。所以使用 Nexus3.x 一个软件来管理 Docker , Maven , Yum , PyPI 等是一个明智的选择。

阅读更多

Docker Swarm使用

简介

官方:https://docs.docker.com/engine/swarm/

Docker Swarm 是 Docker 官方项目之一,提供 Docker 容器集群服务,是 Docker 官方对容器云生态进行支持的核心方案。使用它,用户可以将多个 Docker 主机封装为单个大型的虚拟 Docker 主机,快速打造一套容器云平台。

阅读更多

Docker Machine使用

简介

官方:https://docs.docker.com/machine/

Docker Machine 是一种可以让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机。

Docker Machine 也可以集中管理所有的 docker 主机,比如快速的给 100 台服务器安装上 docker。

阅读更多

Docker可视化工具Portainer的使用

简介

官网:https://www.portainer.io

Portainer is the definitive open source container management tool for Kubernetes, Docker, Docker Swarm and Azure ACI. It allows anyone to deploy and manage containers without the need to write code.

翻译:

Portainer是Kubernetes,Docker,Docker Swarm和Azure ACI的权威性开源容器管理工具。它允许任何人无需编写代码即可部署和管理容器。

阅读更多

Docker Compose使用

简介

Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。从功能上看,跟 OpenStack 中的 Heat 十分类似。

其代码目前在 https://github.com/docker/compose 上开源。

Compose 定位是 「定义和运行多个 Docker 容器的应用(Defining and running multi-container Docker applications)」,其前身是开源项目 Fig。

通过第一部分中的介绍,我们知道使用一个 Dockerfile 模板文件,可以让用户很方便的定义一个单独的应用容器。然而,在日常工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个 Web 项目,除了 Web 服务容器本身,往往还需要再加上后端的数据库服务容器,甚至还包括负载均衡容器等。

Compose 恰好满足了这样的需求。它允许用户通过一个单独的 docker-compose.yml 模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。

阅读更多