前言
以下仅为个人理解,如有错误欢迎纠正。
在很多时候,一个应用开发完成要准备上线,总会发现实际环境布置起来与开发环境有所区别,而出现一些意外的问题。
把应用装进虚拟机,然后再部署上实际环境?这样子的确解决了环境的差异,然而这并不现实,虚拟机损耗太大。
所以经过了很长一段时间,终于有大佬弄出了个解决方案,那就是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信息可看到镜像地址则配置成功。