Docker學習

https://www.docker.com/
Docker is the world's leading software containerization platform

1、什么是Docker

Docker是一個用來裝應用的容器,就像杯子用來裝水,你可以把Hello World放在Docker,也可以把網(wǎng)站放在Docker中,把任何你想得到程序放在Docker

由Docker公司開源,公布在github上
跨平臺,支持Windows、MacOS、Linux

2、理解Docker

2.1 集裝箱

2.2 標準化

  • 運輸方式標準化
  • 存儲方式標準化
  • API接口標準化

2.3 隔離

2.4 Docker解決了什么問題

把操作系統(tǒng)、jdk、tomcat、代碼、配置都放到集裝箱里,用鯨魚運送到服務器上,解決了運行環(huán)境不一致
讓快速擴展彈性伸縮變得簡單

3、走進Docker

Docker的作用,去倉庫把鏡像拉到本地,命令啟動變成容器
Build 構建鏡像
Ship 運輸鏡像
Run 運行鏡像

3.1 鏡像

鏡像就是一系列的文件,應用的文件、應用的運行環(huán)境的文件ee

3.2 容器

容器本質是一個進程

3.3 倉庫

3.4 安裝Docker

apt-get install -y docker.io  安裝命令
service docker start 服務器啟動

3.5 第一個docker鏡像

docker pull [OPTIONS] NAME[:TAG]   拉取的命令
docker images [OPTIONS] [REPOSITORY[:TAG]]   
docker run [OPTIONS] IMAGE[:TAG][COMMAND][ARG...]


開始敲命令
docker images
docker pull hello-world    默認到docker提供的倉庫下載
docker run hello-world    

4、Nginx服務

用Docker運行Nginx
Nginx是一個持久運行的容器
Nginx可以選擇前臺掛起&后臺運行
進入容器內(nèi)部

docker images 查看信息
docker pull hub.c.163.com/library/nginx:latest 從網(wǎng)易蜂巢拉取
docker run hub.c.163.com/library/nginx
docker ps 查看運行的容器
docker run -d hub.c.163.com/library/nginx 后臺運行
docker exec -it f4 bash   f4是pid根據(jù)docker ps 查看
docker stop pid

Docker網(wǎng)絡
網(wǎng)絡類型:Bridge Host使用宿組機的網(wǎng)絡 None
若選擇Bridge則需要端口映射

docker run -d -p 8080:80 hub.c.163.com/library/nginx  做一個端口映射
docker run -d -P hub.c.163.com/library/nginx 隨機映射

5、Docker化的javaweb

制作自己的鏡像
5.1 寫Dockerfile

先下載tomcat作為基準鏡像
docker pull hub.c.163.com/library/tomcat:latest

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

MAINTAINER fengjiaping xxx@163.com

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

5.2 docker build執(zhí)行Dockerfile

必須在Dockerfile的文件中執(zhí)行
docker build -t jpress:latest .
執(zhí)行后輸出信息
Sending build context to Docker daemon  20.8 MB
Step 1 : FROM hub.c.163.com/library/tomcat
 ---> 0785a1d16826
Step 2 : MAINTAINER fengjiaping xxx@163.com
 ---> Running in 253b161090a4
 ---> 3a3e5d8b63dd
Removing intermediate container 253b161090a4
Step 3 : COPY jpress.war /usr/local/tomcat/webapps
 ---> 68ca4f225d78
docker run -d -p 8888:8080 jpress
啟動查看是否成功

啟動一個mysql

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Fj93092800 -e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql:latest 
docker restart d7 重啟一個docker
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 轉載自 http://blog.opskumu.com/docker.html 一、Docker 簡介 Docke...
    極客圈閱讀 10,771評論 0 120
  • Docker學習筆記(一)Docker初體驗 什么是Docker Docker是一個虛擬環(huán)境容器,可以將開發(fā)環(huán)境、...
    陳豐堯閱讀 1,109評論 0 1
  • Docker — 云時代的程序分發(fā)方式 要說最近一年云計算業(yè)界有什么大事件?Google Compute Engi...
    ahohoho閱讀 15,876評論 15 147
  • 前言 Docker 火了很長時間了,有幸體驗了一段時間,平常主要用于測試環(huán)境的項目一鍵部署,體驗不錯,值得推薦。本...
    anyesu閱讀 4,489評論 3 13
  • 不知道你是不是跟我一樣,突然某個懶洋洋的午后,整個人懶洋洋的窩在椅子里翻看幾年前的說說 ,看著看著,就 忘記了 喜...
    猴骨閱讀 766評論 2 1

友情鏈接更多精彩內(nèi)容