时间:2017年04月27日星期四
说明:本文部份内容均来自慕课网。@慕课网:http://www.imooc.com
教学示例源码:无
我的学习源码:无java
Docker能火的缘由mysql
快速的持续集成 服务的弹性伸缩 部署简单,解放运维 为企业节省机器资源
课程内容linux
什么是docker 理解docker 走进docker HelloWorld Nginx服务 docker化的Javaweb
Docker历史nginx
2010 dotCloud PAAS 2013 docker开源 2014.6 Docker 1.0 2014.7 C轮 $4000万 2015.4 D轮 $9500万 至今Docker 1.13
什么是Dockergit
docker是世界领先的软件容器化平台 docker公司开发,开源,托管在github上 跨平台,支持Windows、Macos、Linux
docker思想github
集装箱:容器 标准化:运输方式、存储方式、API接口 隔离:轻量级容器虚拟机技术
docker解决了什么问题web
我本地运行没问题啊:运行环境不一致的问题 系统好卡,哪一个哥们又写死循环了:因为单个应用占用系统资源过大致使服务器挂掉从而致使同服务器其它应用挂掉的问题 双11来了,服务器撑不住啦:使得服务器数量的增长变得简单
核心概念sql
镜像:集装箱 仓库:超级码头 容器:运行程序的地方
docker运行程序的过程docker
去仓库把镜像运到本地,用命令把镜像运行起来变成容器。
分别讲解核心概念数据库
Build:构建镜像 Ship:运输镜像,从仓库和主机上运输 Run:运行的镜像,就是容器
docker镜像的存储方式
最底层:操做系统的引导
上面一层:具体的Linux操做系统
上面一层:具体的软件,好比说JDK、Tomcat
上面一层:咱们本身的应用代码
最上面一层:容器层
docker容器:本质是一个进程。相似虚拟机。
构建镜像的目的:是为了在其机器上运行镜像程序。
docker仓库
hub.docker.com c.163.com
windows
Win10以外: 下载地址:https://www.docker.com/products/docker-toolbox Win10: 下载地址:https://www.docker.com/products/docker#/windows
Macos
Yosemite 10.10.3+(2016/6): https://www.docker.com/products/docker#/mac 旧版本: 下载地址:https://www.docker.com/products/docker-toolbox
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镜像
docker pull [OPTIONS] NAME[:TAG] 从仓库拉取镜像 docker images [OPTIONS][REPOSITORY[:TAG]] 查看本机的镜像 默认去docker官方仓库中拉取
运行docker镜像命令
docker run [OPTIONS] IMAGE[:TAG][COMMAND] [ARG…]
docker镜像运行流程:
实践前奏
持久运行的容器 前台挂起 & 后台运行 进入容器内部
经常使用命令
docker run -d imagename 之后台运行方式运行docker镜像 docker ps 查看正在运行的容器 docker exec 查看运行容器的内部信息 docker exec -it CONTAINER ID bash 查看容器指定容器ID(CONTAINER ID)的信息
docker网络
网络类型:Bridge、Host、None 端口映射
docker网络示意图
docker run -d -p 8080:80 hub.c.163.com/library/nginx
运行nginx镜像,并指定主机的端口。使用 –p 参数,冒号前面为主机端口,后面为容器端口。
具体详细过程,请查看个人另外一篇文章
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 .
启动构建好的镜像
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
内容回顾
思想:集装箱、标准化,隔离 镜像(BUILD)、容器(SHIP)、仓库(RUN) docker命令pull,build,run,stop,restart,exec…