Docker初步使用
==========================================================================================================================
一、Docker概念
	Docker方便了开发人员、运维人员开发、部署、程序运行的一个应用,使用基于Linux的容器来部署应用被称为容器化。使用容器
	可以轻松的部署应用程序。
二、容器的优势
	灵活:可以将复杂的应用程序容器化
	轻量级:共享主机的内核
	可伸缩
	动态变化容器
	一次构建,到处运行
三、镜像(Image)和容器(Container)
	1、一个镜像运行成为一个容器
	2、一个镜像中包括了所要运行的application及去运行环境、库、环境变量、配置文件
四、容器与传统虚拟机比较
	1、一个主上运行的所有容器共享主机的kernel。
	2、容器运行表现为一个进程,占用系统资源更好。
	3、传统虚拟机运行一个完整的OS,通过虚拟化管理软件使用主机的资源,占用资源更多,效率更慢。
五、利用dockerfile构建镜像
	在一个空目录下创建一个以dockerfile命令的文件,写入配置如下:
		参考地址:https://docs.docker.com/get-started/part2/#log-in-with-your-docker-id
	登陆docker镜像仓库
		docker login --username=13018065001 registry.cn-hangzhou.aliyuncs.com/xuekaixin/xuekaixin
	上传镜像到阿里仓库
		docker push registry.cn-hangzhou.aliyuncs.com/xuekaixin/xuekaixin
六、使用docker services (docker compose是一个docker单机编排工具)
	1、初始化
		docker swarm init
	2、创建docker-compose.yml
		version: "3"
		services:
		  web:
			image: 13018065001/registry.cn-hangzhou.aliyuncs.com/xuekaixin/xuekaixin:latest
			deploy:
			  replicas: 5
			  resources:
				limits:
				  cpus: "0.1"
				  memory: '50M'
			  restart_policy:
				condition: on-failure
			ports:
			  - "4000:80"
			networks:
			  - webnet

		networks:
		  webnet:
	3、运行程序
		docker stack deploy web --compose-file docker-compose.yml
	4、查看service
		docker service ls
	5、修改内核参数
		net.bridge.bridge-nf-call-ip6tables = 1
		net.bridge.bridge-nf-call-iptables = 1
==========================================================================================================================























==========================================================================================================================