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 ========================================================================================================================== ==========================================================================================================================