前言

以下仅为个人理解,如有错误欢迎纠正。

在很多时候,一个应用开发完成要准备上线,总会发现实际环境布置起来与开发环境有所区别,而出现一些意外的问题。

把应用装进虚拟机,然后再部署上实际环境?这样子的确解决了环境的差异,然而这并不现实,虚拟机损耗太大。

所以经过了很长一段时间,终于有大佬弄出了个解决方案,那就是docker。

docker是一个基于linux系统的容器,核心技术是lxc(linux内核虚拟化),所以只能对linux系统进行虚拟化,容器是与宿主系统完全隔离的,就像是一个高性能linux虚拟机。

搭建环境

安装

系统:macOS

软件:brew

# 安装virtualbox
brew install caskroom/cask/virtualbox

# 安装docker
brew install docker docker-machine

执行以上代码即可完成docker基本组件的安装。

搭建docker环境

由于docker基于lxc,所以无法直接在macOS下运行,macOS下通过docker-machine(boot2docker, linux虚拟机)进行linux环境的模拟,windows同理。

# 使用virtualbox创建名为default的docker machine
docker-machine create -d virtualbox default

基本使用

以下为docker的基本使用方法,不定期更新。学到哪写到哪。

docker-machine的基本操作

宿主机不为linux系统时,使用docker之前必须配置好docker-machine。

# [name]不填默认为default
# 以下docker-machine简称为DM.

# 开启DM
docker-machine start [name]
# 关闭DM
docker-machine stop [name]
# 重启DM
docker-machine restart [name]
# 删除DM
docker-machine rm [name]
# 进入控制DM
docker-machine ssh [name]
# 配置docker环境变量
eval $(docker-machine env [name])

docker的基本操作

使用docker前需要先配置环境变量!!!

# 查看docker版本
docker version
# 查看docker信息
docker info
# 下载镜像
docker pull [OPTIONS] NAME[:TAG|@DIGEST]

各系统下的docker配置文件

Ubuntu

  • /etc/default/docker

CentOS

  • /etc/systemd/system/docker.service

Boot2Docker (Mac, Windows)

  • /var/lib/boot2docker/profile

配置镜像加速

国内的网络,大家都懂的。

打开配置文件,找到“EXTRA_ARGS=”,添加内容:

# 配置为你的镜像加速地址,比如这里是阿里云
--registry-mirror=https://xxxxxxx.mirror.aliyuncs.com
# 可选,网易:http://hub-mirror.c.163.com

配置完成后重启DM,查看docker信息可看到镜像地址则配置成功。