01-容器与开发语言

Docker

基本介绍

Docker 是一种帮助开发者将应用打包成一个标准格式的镜像并以容器的形式运行的工具。

特点:

  • 轻量级
    • 共享系统内核 -> 快速启动,占用内存小
    • 分层文件系统 -> 不同镜像可以共享相同的文件,减小磁盘开销
  • 开放:开放标准
  • 安全:隔离机制

与虚拟机的区别:虚拟机包含整个独立的OS,不同容器共享同一个内核。

对于开发者来说,Docker 可以帮助他们快速开发:

  • 线上线下环境保持一致
  • 不同应用环境隔离可以减少依赖冲突
  • 开发环境快速配置
  • 快速启动的能力,让 Docker 快速扩容

Docker 的安装

建议参考官方文档-install

对于国内的环境,Docker 官方源可能没有那么科学,可以考虑使用 DaoCloud 提供的脚本:https://get.daocloud.io/#install-docker

1
2
# 安装 Docker
curl -sSL https://get.daocloud.io/docker | sh

由于 Docker Hub 也不太科学,所以建议在使用前先配置好国内的镜像源。

/etc/docker/daemon.json

1
{"registry-mirrors":["https://reg-mirror.qiniu.com/"]}

Golang

Golang 是由 Google 开发并维护的一门静态强类型、编译型、并发友好并带有 GC 的编程语言。

Golang 的 Hello World:

1
2
3
4
5
6
package main
import "fmt"

func main() {
fmt.Println("Hello, World")
}

golang 的安装一般使用系统的包管理就能装上了:

1
2
3
4
# Ubuntu
sudo apt-get install golang
# Archlinux
sudo pacman -S golang

这里使用的版本是:

1
2
❯ go version                 
go version go1.13.8 linux/amd64

同时在.bashrc or .zshrc 增加下面几行作为配置:

1
2
3
export GOPATH=$HOME/go  
export PATH=$PATH:$GOPATH/bin
export GOPROXY=https://goproxy.io

Reference

  1. 00-Index
  2. https://docs.docker.com/engine/install/
  3. http://get.daocloud.io/
  4. https://kirk-enterprise.github.io/hub-docs/#/user-guide/mirror