赞
踩
目录
2.1 Docker 在 Mac OS 和 Windows 下的安装
1. 基本概念、用途、核心思想
2. Docker 的组成、架构、重要概念
3. Docker 的安装
4. 第一个 Docker 容器
5. 运行 Nginx 镜像,并访问到Docker容器内部
6. 制作自己的 Docker 容器,dockerfile 实战
Docker 的基本概念、用途、核心思想:
Docker 约2008年诞生 2014年应用广泛。京东2016年全部业务10万 Docker 容器
Docker 是什么?Docker 是一个用来装程序及其环境的容器,属于Linux容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的Linux容器解决方案。
环境配置的难题
虚拟机:带环境一起安装的解决方案。缺点:资源占用非常多;必走完整操作系统的步骤;启动慢;
Docker 的基础——Linux容器(2001年出现)(对进程进行隔离。容器里面的进程接触到的资源都是虚拟的,这样就和底层宿主操作系统隔离了)
云计算、购物节弹性要求促进 Docker 广泛应用
提供统一的环境
提供快速拓展、弹性伸缩的云服务(下载、启动 即可拓展服务)
防止其他用户的进程把服务器资源占用过多(死循环 内存泄漏会占满CPU 内存 磁盘等)
标准化:
运输方式(把程序和环境从一个机器运到另一个机器的)(不用QQ传 U盘拷 网盘分享)
存储方式(程序和环境的存储)
API 接口(不需要 Tomcat 等应用的命令了,都标准化了)
灵活:即使是最复杂的应用也可以集装箱化
轻量级:容器利用并共享主机内核
便携式:可以在本地构建,部署到云(镜像仓库),并在任何地方运行
Docker 的组成、架构、重要概念
image 镜像:
本质就是一系列的文件,包括应用程序的文件,包括运行环境。
存储:保存格式 涉及Linux存储技术,联合文件系统,UnionFS。分层文件系统,可以把不同的目录去挂到同一个虚拟的文件系统下。
image文件在实际开发中也正是如此的,生成一个自己的image镜像,往往都是在别人image镜像的基础上作改动 。
容器:
镜像类似于Java中的类,而容器就是实例。
容器(上图中的 writable Container )的这一层是可以修改的,而镜像是不可以修改的。读取文件时,从上到下读取。
同一个镜像可以生成多个容器独立运行,而他们之间没有任何的干扰。
生成容器会产生一个容器文件。把容器关闭,这个文件也不会被删除。
仓库:
上传镜像,方便镜像传输
hub.docker.com 中央仓库
https://c.163yun.com/hub#/m/home/ 备选方案网易云
公有、私有
client 和 deamon:
client提供给用户一个终端,用户输入 Docker 提供的命令来管理本地或远程的服务器
deamon服务端守护进程,接收Client发送的命令并执行相应的操作
MacOS:
官网下载 Docker Desktop 社区版
阿里云控制台 实例更换系统镜像为 CentOS 7.6 64位。
传到CSDN资源上,完全按照文档做就好。
下载镜像:
docker pull [OPTIONS] NAME[:TAG]
docker images [OPTIONS] [REPOSITORY[:TAG]] 查看本机镜像
library 是默认仓库,代表Docker官方库
为始终保持版本一致,下载镜像时最好把latest换成固定版本号
运行镜像:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
运行镜像时也要把版本号加上,不然会去下载最新镜像并运行
容器 发送流到 daemon 发送至 客户端|命令行
查看容器:
docker ps ; PORTS展示端口情况;
停止容器:
docker stop 容器ID
运行Nginx镜像,并访问到Docker容器内部
nginx可运行在前台(ctrl+c关闭),也可运行在后台。
后台运行容器:
docker run -d 镜像名:版本号
查看容器内部:
docker exec -i(让容器输入有效)t(给我们分配一个终端)(把容器内部终端映射到当前终端) 容器ID bash(启动终端)
容器内部和Linux操作系统差不多,文件夹名字,nginx路径也是 usr/sbin/nginx
Docker的网络模式:
Bridge: 网卡独立、路由独立、iptables规则独立;通过桥连接;
Host: 容器不会获得独立的网络,而是和主机使用同一个;
None: 没有网络;
端口映射: docker run -p 主机端口:容器端口;
docker run -P(自动映射容器内部的所有端口);
查看端口:
netstat -na | grep 8080
dockerfile作用:
告诉Docker怎样制作我的镜像,制作镜像的每一步分别是什么,是一个文本文件,用来配置镜像的。Docker会根据配置生成镜像。
使用dockerfile的好处:
可以把dockerfile放到版本控制下,修改可被追踪。环境配置等信息清晰可见。
文件名:Dockerfile
语法:
FROM alpine:latest // 基础镜像是什么,类似于继承哪个镜像
MAINTAINER cheng // 维护者是谁
CMD echo 'hello my dockerfile'
制作镜像:
docker build -t(指定镜像名字) hello_docker .(Dockerfile所在路径)
关闭Docker: systemctl stop docker
QCon软件大会、中国软件技术大会、全球互联网技术大会
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。