慕課網_《第一個docker化的java應用》學習總結

時間:2017年04月27日星期四
說明:本文部份內容均來自慕課網。@慕課網:http://www.imooc.com
教學示例源碼:無
我的學習源碼:無java

第一章:課程介紹

1-1 課程介紹

Docker能火的緣由mysql

快速的持續集成
服務的彈性伸縮
部署簡單,解放運維
爲企業節省機器資源

課程內容linux

什麼是docker
理解docker
走進docker
HelloWorld
Nginx服務
docker化的Javaweb

1-2 什麼是docker

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

2-1 docker思想

docker思想github

集裝箱:容器
標準化:運輸方式、存儲方式、API接口
隔離:輕量級容器虛擬機技術

2-2 docker解決了什麼問題

docker解決了什麼問題web

我本地運行沒問題啊:運行環境不一致的問題
系統好卡,哪一個哥們又寫死循環了:因爲單個應用佔用系統資源過大致使服務器掛掉從而致使同服務器其它應用掛掉的問題
雙11來了,服務器撐不住啦:使得服務器數量的增長變得簡單

第三章:走進docker

3-1 docker核心技術

核心概念sql

鏡像:集裝箱
倉庫:超級碼頭
容器:運行程序的地方

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…
相關文章
相關標籤/搜索