『暴力學習 docker ,後附影片版』
docker-png.png
各位好,我是謝偉,是一名程式設計師。
程式設計師需要持續不斷的學習,這一點已經是成為共識.
我也在不斷的學習新的學習方式,不斷的更新自己的學習方式. 於是有了下文, 稱之為暴力學習方法.
其實這些也不是我自己原創的,我只是結合自己的學習方式和一些接觸的厲害的人之後總結出來的.
下面的方法,不適合精深某一領域,但是非常適合從不懂到懂操作的階段. 所以稱之為 暴力學習. 但往往就是這麼一次的入門, 就成了...
阻擋你入門的, 往往是那些原理.
注意: 上手是一切的開始, 是一切的可能性的開始
下面的這些方法有幾點需要說明:
忽略絕大多數細節
瞭解這門技術的最小知識集
實踐, 實踐, 再實踐
瞭解和精進原理
即:把對原理的吸收放到已經能操作這麼技術之後再進行, 這樣的好處是: 你知道你想了解什麼...
下面的演示例項即: 暴力學習 docker.
1. Docker
一句話說明: Docker 是一種容器技術, 允許開發者把程式打包進容器, 之後可以跨平臺使用.
在雲端計算 , 微服務領域有著廣泛的使用. 而且扮演著越來越重要的角色.
2. 暴力學習法 docker
忽略細節
最小知識集
實踐
2.1 最小集知識
使用場景
彈性雲服務
環境一致
元件微服務架構
基本概念
映象:image: 分層 72
容器:container
倉庫:repository
Docker registry: 提供集中儲存、分發映象的服務
服務和非服務
.dockerignore 忽略檔案
使用場景
一個容器提供一個服務, 多個容器提供多個服務, 容器的停止執行即減少服務, 容器的啟動執行即增加服務, 完成彈性暈服務.
開發者將程式放入容器中, 可以跨平臺使用. 執行 docker 命令即可使用. 環境一致性.
容器啟動提供服務, 服務見相互互動, 完成微服務架構組織.
基本概念
image 映象: 即一些檔案, 可以理解為一個比較小的系統的檔案系統
container容器: 即一個程式, 即映象啟動, 提供相應服務, 開啟程式
registry 倉庫: 映象的儲存和分發
docker 的操作即在執行這三者.
安裝
根據自己電腦的作業系統選擇對應的版本, 其中不建議使用 Windows 系統. Docker 在Linux 系統下使用更佳.
加速器
之所以需要使用加速器是因為Docker 是國外的產品, 預設提供的映象倉庫地址是在國外, 所以拉取或者推送映象存在一個問題: 慢. 所以使用一些國內的加速器, 拉取映象更 快.
2.2 常用命令
image
container
registry
version
info
之前說過 docker 的操作基本上是在操作: 映象, 容器, 倉庫
命令分這麼幾個類別:
系統
docker info docker version
映象
docker images docker rmi docker save docker load docker importdocker export
容器
docker run docker stop/start/create/stats docker ps docker kill
倉庫
docker pull docker push
運維
docker execdocker attach docker inspect
2.3 Dockerfile
docker 核心是製作映象,啟動容器,提供服務.
那嘸如何製作映象, 啟動容器, 提供服務呢? 核心又是編寫 Dockerfile 檔案.
執行 docker build 成為映象, docker run 成為容器. 啟動容器後即可以提供服務.
FROM: scratch
MAINTAINER
RUN
COPY:萬用字元
ADD:更高階的COPY:自動解壓縮
CMD:容器啟動後的命令執行
ENTRYPOINT:入口點,容器啟動後的命令執行, 方便新增引數
VOLUME 掛載資料卷
WORKDIR 指定工作目錄
EXPOSE 暴露埠
USER 指定當前使用者
HEALTHCHECK 容器健康檢查
熟悉shell 命令的, 可以很容易的理解這些命令的含義, 無非是出品docker 的這家公司制定這麼一套規則,我們學會這個規則,完成檔案的複製,或者執行些命令, 就可以構建映象.
實踐
核心是編寫Dockerfile , 會寫Dockerfile , 就會製作映象, 就會啟動容器. 就能入門docker.
3.1 設定加速器例項
訪問:
3.2 拉取映象, 啟動服務例項
docker run -d -p 9200:9200 elasticsearch
訪問: localhost:9200
docker pull ubuntu docker run -it ubuntu sh#
即: 容器內具備ubuntu 的基礎功能
#!/usr/bin/env bashecho "hello world"
編寫Dockerfile 檔案
docker build -t my_hello_world:0.0.1 .
啟動容器:
docker run my_hello_world
輸出: hello world
3.4 Dockerfile 執行提供 API 服務的映象
製作步驟: 使用 golang 編寫一個簡單的API 服務
FROM ubuntu MAINTAINER XieWei EXPOSE 8080RUN mkdir -p /usr/src/app COPY . /usr/src/app WORKDIR /usr/src/appCMD ls ENTRYPOINT ["/bin/bash", "-c", "/usr/src/app/main"]
即: 以ubuntu 為基礎映象, 開放埠 8080, 建立目錄 /usr/src/app , 複製本地Dockerfile 所在目錄的所有檔案至該資料夾下.
切換至該資料夾, 入口執行 /usr/src/app/main
即: 啟動容器會執行: /usr/src/app/main
製作映象
docker build -t my_api:0.0.1 .
啟動容器, 對映埠 8080
docker run -d -p 8080:8080 my_api:0.0.1
訪問: localhost:8080/user/xiewei
輸出: hello xiewei
影片地址:
影片不太清晰,看百度網盤分享的影片吧.
連結: 密碼: 5rcr
作者:謝小路
連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1020/viewspace-2805915/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- docker 學習Docker
- docker學習Docker
- 暴力破解-基於Pikachu的學習
- [Docker 系列]docker 學習 三Docker
- 【Docker 系列】docker 學習 三Docker
- 學習謝永生 影片
- c#影片學習C#
- Docker 容器學習Docker
- docker學習(二)Docker
- Docker學習—SwarmDockerSwarm
- Docker學習—MachineDockerMac
- Docker學習2Docker
- Docker學習—DockerFileDocker
- Docker學習-四Docker
- docker學習4:Docker 映象使用Docker
- docker學習3:Docker Hello WorldDocker
- [Docker 系列]docker 學習八,Docker 網路Docker
- Docker 學習 一:Docker 是什麼Docker
- Docker 學習 一,Docker 是什麼Docker
- 【Docker】動手寫Dockerfile學習DockerDocker
- docker 學習之一:docker 安裝Docker
- docker學習1:CentOS Docker 安裝DockerCentOS
- docker學習6:Docker 安裝 NginxDockerNginx
- docker學習5:Docker 容器連線Docker
- docker學習3:Docker容器使用Docker
- docker學習7:Docker 安裝 PHPDockerPHP
- 2016年「Rework深度學習」會議概覽(附影片)深度學習
- Docker 基礎學習Docker
- Docker學習—ComposeDocker
- docker技術學習Docker
- Docker 學習筆記Docker筆記
- Docker學習記錄Docker
- Docker學習筆記Docker筆記
- 前端學習-vue影片學習013-pinia前端Vue
- Docker學習(二)- Docker 安裝 JenkinsDockerJenkins
- Docker學習(十)Docker容器編排 Docker-composDocker
- 【Docker 系列】docker 學習 二,Docker 的常用命令Docker
- [Docker 系列]docker 學習 二,Docker 的常用命令Docker