一、Docker介紹和使用場景
1、什麼是Dokcer
一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的 Linux 機器上,
也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面;使⽤用go語⾔言編寫,在LCX(linux容器器)基礎上進行封裝。
簡單來說:
1)就是可以快速部署啟動應用
2)實現虛擬化,完整資源隔離
3)一次編寫,四處執行(有一定的限制,比如Docker是基於Linux 64bit的,無法在32bit的linux/Windows/unix環境下使用)
2、為什麼要用Docker
1)提供一次性的環境,假如需要安裝MySQL,則需要安裝很多依賴庫、版本等,如果使用Docker則透過映象就可以直接啟動執行
2)快速動態擴容,使用docker部署了一個應用,可以製作成映象,然後透過Dokcer快速啟動。
3)組建微服務架構,可以在一個機器上模擬出多個微服務,啟動多個應用。
4)更好的資源隔離和共享
一句話:開箱即用,快速部署,可移植性強,環境隔離。
二、Linux雲伺服器器Centos7安裝Docker
1、新增yum源
# yum install epel-release –y
# yum clean all
# yum list
2、安裝並執行Docker
# yum install docker-io –y
# systemctl start docker
3、檢查安裝結果
# docker info
4、管理Docker守護程序
# systemctl start docker #執行Docker守護程序
# systemctl stop docker #停止Docker守護程序
# systemctl restart docker #重啟Docker守護程序
三、Docker倉庫、映象、容器器核心知識
1、Docker映象 (Docker images):容器器運⾏行行時的只讀模板,作業系統+軟體運⾏行行環境+⽤使用者程式
2、Docker容器(Docker containers):容器器包含了某個應用執行所需要的全部環境
3、Docker倉庫 (Docker registeries):用來儲存映象,有公有和私有倉庫,好比Maven的中央倉庫和本地私服。
四、Docker容器命令
1、搜尋映象:docker search xxx(映象名稱)
2、列出當前系統存在的映象:docker images
3、拉取映象:docker pull xxx
xxx是具體某個映象名稱(格式 REPOSITORY:TAG)
REPOSITORY:表示映象的倉庫源,TAG:映象的標籤
4、執行一個容器:docker run -d --name "fengma_mq" -p 5672:5672 -p 15672:15672 rabbitmq:management
docker run: 執行一個容器
-d: 後臺執行
-p: 埠對映
rabbitmq:management (格式 REPOSITORY:TAG),如果不指定tag,預設使⽤用最新的。
--name "xxx": 容器名稱
5、列舉當前執行的容器:docker ps
6、檢查容器內部資訊:docker inspect 容器名稱
強制移除映象不管是否有容器使用該映象 增加 -f 引數。
8、停止某個容器:docker stop 容器名稱
9、啟動某個容器:docker start 容器名稱
10、移除某個容器: docker rm 容器名稱 (容器必須是停止狀態)
五、使用Docker部署Nginx伺服器
1、獲取映象 (首先會從本地找映象,如果有則直接啟動,沒有的話,從映象倉庫拉起,再啟動)
docker search nignx
2、列舉映象:docker images
3、拉取映象: docker pull nignx
4、啟動多個容器例項
docker run -d --name "fengma_nginx1" -p 8088:80 nginx
docker run -d --name "fengma_nginx2" -p 8089:80 nginx
docker run -d --name "fengma_nginx3" -p 8090:80 nginx
六、公司中Docker映象倉庫使用
1、為啥要用映象倉庫
2、官方公共映象倉庫和私有映象倉庫
公共映象倉庫,官方:https://hub.docker.com/,基於各個軟體開發或者有軟體提供商開發的
非官方:其他組織或者公司開發的映象,供大家免費試用
私有映象倉庫:用於存放公司內部的映象,不提供給外部試用。
七、構建自己的映象倉庫(使用阿里雲搭建自己的映象倉庫)
1、阿里雲映象倉庫:https://dev.aliyun.com/search.html
2、登入: docker login --username=使用者名稱 registry.cnshenzhen.aliyuncs.com(選擇自己位置)
3、推送本地映象:docker tag [ImageId] registry.cnshenzhen.aliyuncs.com/fengma/fengma_images:[映象版本號]
例子:
docker tag 2f415b0e9a6e registry.cnshenzhen.aliyuncs.com/fengma/fengma_images:rabbitmq-v1.0.2
docker push registry.cnshenzhen.aliyuncs.com/fengma/fengma_images:rabbitmq-v1.0.2
4、拉取映象(線上伺服器拉取映象)
docker login --username=使用者名稱 registry.cn-shenzhen.aliyuncs.com
docker pull registry.cnshenzhen.aliyuncs.com/fengma/fengma_images:rabbitmq-v1.0.2
5、啟動容器
docker run -d --name "fengma_mq" -p 5672:5672 -p 15672:15672 2f415b0e9a6e
一、Docker介紹和使用場景
1、什麼是Dokcer
一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的 Linux 機器上,
也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面;使⽤用go語⾔言編寫,在LCX(linux容器器)基礎上進行封裝。
簡單來說:
1)就是可以快速部署啟動應用
2)實現虛擬化,完整資源隔離
3)一次編寫,四處執行(有一定的限制,比如Docker是基於Linux 64bit的,無法在32bit的linux/Windows/unix環境下使用)
2、為什麼要用Docker
1)提供一次性的環境,假如需要安裝MySQL,則需要安裝很多依賴庫、版本等,如果使用Docker則透過映象就可以直接啟動執行
2)快速動態擴容,使用docker部署了一個應用,可以製作成映象,然後透過Dokcer快速啟動。
3)組建微服務架構,可以在一個機器上模擬出多個微服務,啟動多個應用。
4)更好的資源隔離和共享
一句話:開箱即用,快速部署,可移植性強,環境隔離。
二、Linux雲伺服器器Centos7安裝Docker
1、新增yum源
# yum install epel-release –y
# yum clean all
# yum list
2、安裝並執行Docker
# yum install docker-io –y
# systemctl start docker
3、檢查安裝結果
# docker info
4、管理Docker守護程序
# systemctl start docker #執行Docker守護程序
# systemctl stop docker #停止Docker守護程序
# systemctl restart docker #重啟Docker守護程序
三、Docker倉庫、映象、容器器核心知識
1、Docker映象 (Docker images):容器器運⾏行行時的只讀模板,作業系統+軟體運⾏行行環境+⽤使用者程式
2、Docker容器(Docker containers):容器器包含了某個應用執行所需要的全部環境
3、Docker倉庫 (Docker registeries):用來儲存映象,有公有和私有倉庫,好比Maven的中央倉庫和本地私服。
四、Docker容器命令
1、搜尋映象:docker search xxx(映象名稱)
2、列出當前系統存在的映象:docker images
3、拉取映象:docker pull xxx
xxx是具體某個映象名稱(格式 REPOSITORY:TAG)
REPOSITORY:表示映象的倉庫源,TAG:映象的標籤
4、執行一個容器:docker run -d --name "fengma_mq" -p 5672:5672 -p 15672:15672 rabbitmq:management
docker run: 執行一個容器
-d: 後臺執行
-p: 埠對映
rabbitmq:management (格式 REPOSITORY:TAG),如果不指定tag,預設使⽤用最新的。
--name "xxx": 容器名稱
5、列舉當前執行的容器:docker ps
6、檢查容器內部資訊:docker inspect 容器名稱
強制移除映象不管是否有容器使用該映象 增加 -f 引數。
8、停止某個容器:docker stop 容器名稱
9、啟動某個容器:docker start 容器名稱
10、移除某個容器: docker rm 容器名稱 (容器必須是停止狀態)
五、使用Docker部署Nginx伺服器
1、獲取映象 (首先會從本地找映象,如果有則直接啟動,沒有的話,從映象倉庫拉起,再啟動)
docker search nignx
2、列舉映象:docker images
3、拉取映象: docker pull nignx
4、啟動多個容器例項
docker run -d --name "fengma_nginx1" -p 8088:80 nginx
docker run -d --name "fengma_nginx2" -p 8089:80 nginx
docker run -d --name "fengma_nginx3" -p 8090:80 nginx
六、公司中Docker映象倉庫使用
1、為啥要用映象倉庫
2、官方公共映象倉庫和私有映象倉庫
公共映象倉庫,官方:https://hub.docker.com/,基於各個軟體開發或者有軟體提供商開發的
非官方:其他組織或者公司開發的映象,供大家免費試用
私有映象倉庫:用於存放公司內部的映象,不提供給外部試用。
七、構建自己的映象倉庫(使用阿里雲搭建自己的映象倉庫)
1、阿里雲映象倉庫:https://dev.aliyun.com/search.html
2、登入: docker login --username=使用者名稱 registry.cnshenzhen.aliyuncs.com(選擇自己位置)
3、推送本地映象:docker tag [ImageId] registry.cnshenzhen.aliyuncs.com/fengma/fengma_images:[映象版本號]
例子:
docker tag 2f415b0e9a6e registry.cnshenzhen.aliyuncs.com/fengma/fengma_images:rabbitmq-v1.0.2
docker push registry.cnshenzhen.aliyuncs.com/fengma/fengma_images:rabbitmq-v1.0.2
4、拉取映象(線上伺服器拉取映象)
docker login --username=使用者名稱 registry.cn-shenzhen.aliyuncs.com
docker pull registry.cnshenzhen.aliyuncs.com/fengma/fengma_images:rabbitmq-v1.0.2
5、啟動容器
docker run -d --name "fengma_mq" -p 5672:5672 -p 15672:15672 2f415b0e9a6e