4

时间:2017年04月27日星期四
说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com
教学示例源码:无
个人学习源码:无

第一章:课程介绍

1-1 课程介绍

Docker能火的原因

快速的持续集成
服务的弹性伸缩
部署简单,解放运维
为企业节省机器资源

课程内容

什么是docker
理解docker
走进docker
HelloWorld
Nginx服务
docker化的Javaweb

1-2 什么是docker

Docker历史

2010 dotCloud PAAS
2013 docker开源
2014.6 Docker 1.0
2014.7 C轮 $4000万
2015.4 D轮 $9500万
至今Docker 1.13

什么是Docker

docker是世界领先的软件容器化平台
docker公司开发,开源,托管在github上
跨平台,支持Windows、Macos、Linux

第二章:了解docker

2-1 docker思想

docker思想

集装箱:容器
标准化:运输方式、存储方式、API接口
隔离:轻量级容器虚拟机技术

2-2 docker解决了什么问题

docker解决了什么问题

我本地运行没问题啊:运行环境不一致的问题
系统好卡,哪个哥们又写死循环了:由于单个应用占用系统资源过大导致服务器挂掉从而导致同服务器其它应用挂掉的问题
双11来了,服务器撑不住啦:使得服务器数量的增加变得简单

第三章:走进docker

3-1 docker核心技术

核心概念

镜像:集装箱
仓库:超级码头
容器:运行程序的地方

docker运行程序的过程

去仓库把镜像运到本地,用命令把镜像运行起来变成容器。

分别讲解核心概念

Build:构建镜像
Ship:运输镜像,从仓库和主机上运输
Run:运行的镜像,就是容器

3-2 docker镜像

docker镜像的存储方式

clipboard.png

最底层:操作系统的引导
上面一层:具体的Linux操作系统
上面一层:具体的软件,比如说JDK、Tomcat
上面一层:我们自己的应用代码
最上面一层:容器层

3-3 docker容器

docker容器:本质是一个进程。类似虚拟机。

3-4 docker仓库

构建镜像的目的:是为了在其机器上运行镜像程序。
docker仓库

hub.docker.com
c.163.com

第四章:docker安装

4-1 windows安装docker

windows

Win10之外:
下载地址:https://www.docker.com/products/docker-toolbox
Win10:
下载地址:https://www.docker.com/products/docker#/windows

4-2 macos安装docker

Macos

Yosemite 10.10.3+(2016/6):
https://www.docker.com/products/docker#/mac
旧版本:
下载地址:https://www.docker.com/products/docker-toolbox

4-3 linux安装docker

Linux

Redhat & CentOS
系统要求:64-bit OS and version 3.10
Ubuntu
系统要求:64-bit OS and version 3.10

安装教程可以参考

http://www.imooc.com/article/16448

安装完成后

docker version:查看docker版本
service docker start:启动docker服务

第五章:docker初体验

5-1 第一个docker镜像

第一个docker镜像

docker pull [OPTIONS] NAME[:TAG]
从仓库拉取镜像
docker images [OPTIONS][REPOSITORY[:TAG]]
查看本机的镜像
默认去docker官方仓库中拉取

5-2 第一个docker镜像

运行docker镜像命令

docker run [OPTIONS] IMAGE[:TAG][COMMAND] [ARG…]

docker镜像运行流程:

clipboard.png

第六章:docker运行nginx静态网站

6-1 运行nginx镜像

实践前奏

持久运行的容器
前台挂起 & 后台运行
进入容器内部

常用命令

docker run -d imagename
以后台运行方式运行docker镜像
docker ps
查看正在运行的容器
docker exec
查看运行容器的内部信息
docker exec -it CONTAINER ID bash
查看容器指定容器ID(CONTAINER ID)的信息

6-2 docker网络

docker网络

网络类型:Bridge、Host、None
端口映射

docker网络示意图

clipboard.png

docker run -d -p 8080:80 hub.c.163.com/library/nginx
运行nginx镜像,并指定主机的端口。使用 –p 参数,冒号前面为主机端口,后面为容器端口。

第七章:第一个java web应用

7-1 制作自己的镜像

具体详细过程,请查看我的另一篇文章

Linux_基于Docker快速搭建个人博客网站

制作自己的镜像

dockerfile
docker build
Jpress: http://jpress.io/

编写Dockerfile:创建一个名为Dockerfile的文件,内容为下

from hub.c.163.com/library/tomcat

MAINTAINER zc zccoder@aliyun.com

COPY jpress.war /usr/local/tomcat/webapps

使用build命令构建镜像,并把镜像命名为jpress

docker build -t jpress:latest .

7-2 运行自己的容器

启动构建好的镜像

docker run -d -p 8888:8080 jpress

查看端口是否被占用

netstat -na|grep 8888

安装mysql

docker pull hub.c.163.com/library/mysql:latest

创建数据库并启动mysql

docker run --name dmysql -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=000000 -e MYSQL_DATABASE=jpress  hub.c.163.com/library/mysql

配置jpress

查看本机实际IP地址

ifconfig

第八章:课程总结

8-1 课程总结

内容回顾

思想:集装箱、标准化,隔离
镜像(BUILD)、容器(SHIP)、仓库(RUN)
docker命令pull,build,run,stop,restart,exec…

妙手空空
1.3k 声望368 粉丝

博观而约取,厚积而薄发