Docker初識

(一)docker介紹html

1.什麼是Dokcer?mysql

 1.一個開源的應用容器引擎,讓開發者能夠打包他們的應用以及依賴包到一個可移植的容器中,而後發佈到任何流行的Linux 機器上,也能夠實現虛擬化。容器是徹底使用沙箱機制,相互之間不會有任何接口;
 2.go語言編寫,在LCX(linux容器)基礎上進行的封裝

2.簡單來講: linux

  1)就是能夠快速部署啓動應用
   2)實現虛擬化,完整資源隔離
   3)一次編寫,四處運行(有必定的限制,好比Docker是基於Linux 64bit的,沒法在32bit的linux/Windows/unix環境下使用)

三、爲何要用docker?nginx

1、提供一次性的環境,假如須要安裝Mysql,則須要安裝不少依賴庫、版本等,若是使用Docker則經過鏡像就能夠直接啓動運行               
2、快速動態擴容,使用docker部署了一個應用,能夠製做成鏡像,而後經過Dokcer快速啓動
 3、組建微服務架構,能夠在一個機器上模擬出多個微服務,啓動多個應用         
4、更好的資源隔離和共享

            一句話:開箱即用,快速部署,可移植性強,環境隔離spring

 

(二)docker核心知識sql

四、Docker倉庫、鏡像、容器
            Docker 鏡像 - Docker images:docker

容器運行時的只讀模板,操做系統+軟件運行環境+用戶程序
比如一個類:

            Docker 容器 - Docker containers:安全

容器包含了某個應用運行所須要的所有環境
比如一個類new出來的對象

            Docker 倉庫 - Docker registeries: springboot

用來保存鏡像,有公有和私有倉庫,咱們能夠從倉庫下載咱們須要的鏡像
比如Maven的中央倉庫和本地私服

參考)配置國內鏡像倉庫:https://blog.csdn.net/zzy1078689276/article/details/77371782服務器

 

(三)Docker容器常見命令

雲服務器安裝文檔:https://help.aliyun.com/document_detail/51853.html?spm=a2c4g.11186623.6.820.RaToNY

        一、 經常使用命令(安裝部署好Dokcer後,執行的命令是docker開頭),xxx是鏡像名稱

1.搜索鏡像:docker search xxx  
  如:rabbitmq:management    
2.列出當前系統存在的鏡像:docker images       
3.拉取鏡像:docker pull xxx
   xxx是具體某個鏡像名稱(格式 REPOSITORY:TAG)
   REPOSITORY:表示鏡像的倉庫源,TAG:鏡像的標籤
  如:rabbitmq:management

4.運行一個容器:docker run -d --name "xdclass_mq" -p 5672:5672 -p 15672:15672 rabbitmq:management
    docker run - 運行一個容器
    -d 後臺運行
    -p 端口映射
    rabbitmq:management  (格式 REPOSITORY:TAG),若是不指定tag,默認使用最新的
    --name "xxx"      
5.列舉當前運行的容器:docker ps  或者  docker ps -n 5    
6.檢查容器內部信息:docker inspect 容器名稱
7.刪除鏡像:docker rmi IMAGE_ID
  強制移除鏡像無論是否有容器使用該鏡像 增長 -f 參數,
  docker rmi -f IMAGE_ID
8.中止某個容器:docker stop 容器名稱(或ID)
9.啓動某個容器:docker start 容器名稱(或ID)
10.移除某個容器: docker rm 容器名稱 (容器必須是中止狀態)

        文檔:

            http://www.javashuo.com/article/p-bburmtsv-eo.html

 

 

(四)Docker部署Nginx服務器實戰

   0、先跑一下
              docker run  (首先會從本地找鏡像,若是有則直接啓動,沒有的話,從鏡像倉庫拉起,再啓動)
   一、查找鏡像
              docker search nignx 
        二、列舉
              docker images 
        三、拉取
              docker pull nignx 
        三、啓動(能夠多個)
              docker run -d --name "xdclass_nginx" -p 8088:80 nginx 
              docker run -d --name "xdclass_nginx2" -p 8089:80 nginx 
              docker run -d --name "xdclass_nginx3" -p 8090:80 nginx 
        四、訪問
            若是是阿里雲服務,記得配置安全組,騰訊雲也須要配置,這個就是一個防火牆
        服務器訪問端口:
            curl "http://127.0.0.1:端口"
              curl "http://127.0.0.1:8088" 

 

 

(五)搭建私有鏡像倉庫

  1.阿里雲鏡像倉庫:https://dev.aliyun.com/search.html

  二、使用阿里雲私有鏡像倉庫
            1)登陸:  docker login --username=794666918@qq.com registry.cn-shenzhen.aliyuncs.com 
            
            2) 推送本地鏡像:
              docker tag [ImageId] registry.cn-shenzhen.aliyuncs.com/xdclass/xdclass_images:[鏡像版本號] 
            例子:
              docker tag 2f415b0e9a6e registry.cn-shenzhen.aliyuncs.com/xdclass/xdclass_images:xd_rabbitmq-v1.0.2 
              docker push registry.cn-shenzhen.aliyuncs.com/xdclass/xdclass_images:xd_rabbitmq-v1.0.2 

            3)拉取鏡像
                線上服務器拉取鏡像:
                      docker login --username=794666918@qq.com registry.cn-shenzhen.aliyuncs.com 

                      docker pull registry.cn-shenzhen.aliyuncs.com/xdclass/xdclass_images:xd_rabbitmq-v1.0.2 

                    啓動容器:
                      docker run -d --name "xdclass_mq" -p 5672:5672 -p 15672:15672 2f415b0e9a6e 

 注意這些命令都以【管理】裏面的命令爲主,這裏只是演示

 

docker:

  安裝mysql5.6以及如何訪問:https://www.cnblogs.com/areyouready/p/8948552.html

  使用docker發佈springboot項目:http://www.javashuo.com/article/p-ysczykst-cc.html

相關文章
相關標籤/搜索