亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

云原生之docker命令詳解

 更新時間:2023年06月05日 09:34:59   作者:山河亦問安  
Docker是一個開源的應(yīng)用容器引擎,基于Go語言并遵從Apache2.0協(xié)議開源,Docker 可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個輕量級、可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,也可以實現(xiàn)虛擬化,本文就給大家介紹了云原生中的docker命令

1.云原生概念

1.1 云原生定義

云原生”顧名思義,就是“生在云上、長在云上”。
云原生是一種以云計算技術(shù)為基礎(chǔ),利用容器、微服務(wù)、DevOps 和自動化等技術(shù)實現(xiàn)敏捷開發(fā)、快速部署的應(yīng)用程序架構(gòu),這就是云原生。

云原生是面向“云”而設(shè)計的應(yīng)用,因此技術(shù)部分依賴于傳統(tǒng)云計算的 3 層概念,基礎(chǔ)設(shè)施即服務(wù)(IaaS)、平臺即服務(wù)(PaaS)和軟件即服務(wù)(SaaS)。

1.2 云原生元素

云原生元素如下圖:

1.2.1 微服務(wù)

微服務(wù)解決的是我們軟件開發(fā)中一直追求的低耦合+高內(nèi)聚,記得有一次我們系統(tǒng)的接口出了問題,結(jié)果影響了用戶的前臺操作,于是黎叔拍案而起,靈魂發(fā)問:“為啥這兩個會互相影響?!”

微服務(wù)可以解決這個問題,微服務(wù)的本質(zhì)是把一塊大餅分成若干塊低耦合的小餅,比如一塊小餅專門負(fù)責(zé)接收外部的數(shù)據(jù),一塊小餅專門負(fù)責(zé)響應(yīng)前臺的操作,小餅可以進一步拆分,比如負(fù)責(zé)接收外部數(shù)據(jù)的小餅可以繼續(xù)分成多塊負(fù)責(zé)接收不同類型數(shù)據(jù)的小餅,這樣每個小餅出問題了,其它小餅還能正常對外提供服務(wù)。

1.2.2 DevOps

DevOps 的意思就是開發(fā)和運維不再是分開的兩個團隊,而是你中有我,我中有你的一個團隊。我們現(xiàn)在開發(fā)和運維已經(jīng)是一個團隊了,但是運維方面的知識和經(jīng)驗還需要持續(xù)提高。

1.2.3 持續(xù)交付

持續(xù)交付的意思就是在不影響用戶使用服務(wù)的前提下頻繁把新功能發(fā)布給用戶使用,要做到這點非常非常難。我們現(xiàn)在兩周一個版本,每次上線之后都會給不同的用戶造成不同程度的影響。

1.2.4 容器化

容器化的好處在于運維的時候不需要再關(guān)心每個服務(wù)所使用的技術(shù)棧了,每個服務(wù)都被無差別地封裝在容器里,可以被無差別地管理和維護,現(xiàn)在比較流行的工具是 docker 和 k8s

所以你也可以簡單地把云原生理解為:云原生 = 微服務(wù) + DevOps + 持續(xù)交付 + 容器化

2. Docker

2.1 Docker概述

2.1.1 Docker 定義

Docker 是一個開源的應(yīng)用容器引擎,基于Go 語言并遵從 Apache2.0 協(xié)議開源。 Docker 可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個輕量級、可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口,更重要的是容器性能開銷極低。

2.1.2 Docker應(yīng)用場景

  • Web 應(yīng)用的自動化打包和發(fā)布。

  • 自動化測試和持續(xù)集成、發(fā)布。

  • 在服務(wù)型環(huán)境中部署和調(diào)整數(shù)據(jù)庫或其他的后臺應(yīng)用。

  • 解決軟件跨境遷移的問題

2.1.3 Docker的架構(gòu)

鏡像(image)

Docker鏡像(Image)就是一個只讀的模板。鏡像可以用來創(chuàng)建Docker容器,一個鏡像可以創(chuàng)建很多容器。

容器(container)

Docker利用容器(Container)獨立運行一個或一組應(yīng)用。容器是使用鏡像創(chuàng)建的運行實例。它可以被啟動、開始、停止、刪除。每個容器都是相互隔離的、保證安全的平臺,容器是一個簡易版的Linux環(huán)境和運行在其中的應(yīng)用程序。

倉庫(Repository)

倉庫(Repository)是集中存放鏡像文件的場所。倉庫(Repository)和倉庫注冊服務(wù)器(Registry)是有區(qū)別的。倉庫注冊服務(wù)器上往往存放著多個倉庫,每個倉庫中又包含了多個鏡像,每個鏡像有不同的標(biāo)簽(tag)。倉庫分為公開倉庫(Public)和私有倉庫(Private)兩種形式。最大的公開倉庫是Docker Hub(https://hub.docker.com/),存放了數(shù)量龐大的鏡像供用戶下載。國內(nèi)的公開倉庫包括阿里云、網(wǎng)易云等。

2.2 Docker命令

2.2.1 docker進程相關(guān)命令

#啟動docker
systemctl start docker
#停止docker
systemctl stop docker
#查看docker狀態(tài)
systemctl status docker
#重啟docker
systemctl restart docker
#設(shè)置開機啟動
systemctl enable docker

2.2.2 docker鏡像相關(guān)命令

#查看鏡像,查看本地所有的鏡像
docker images
docker images 
    -q #查詢所有鏡像的ID
    -a #列出所有的鏡像
    --help #命令幫助
#查詢?nèi)缦?
#鏡像的倉庫源, 鏡像的標(biāo)簽,鏡像的id,     鏡像的創(chuàng)建時間,   鏡像的大小
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    feb5d9fea6a5   14 months ago   13.3kB
#搜索鏡像:從網(wǎng)絡(luò)中查詢需要的鏡像
docker search 鏡像的名稱
#拉取鏡像:從Docker倉庫下載鏡像到本地,鏡像名稱格式為 名稱:版本號, 如果不指定,則是最新版,如果不知道鏡像的版本號,可以去hub.docker.com去查詢
docker pull 鏡像名稱
#刪除指定鏡像
docker rmi 鏡像id 

2.2.3 docker容器相關(guān)命令

docker run 參數(shù) 鏡像名稱:版本號

參數(shù)說明:
    * -i:保持容器運行,通常與-t同時使用,加上 it 這兩個參數(shù)后,容器創(chuàng)建后自動進入容器中,退出容器后,容器自動關(guān)閉,
    * -d:以守護(后臺)模式運行容器,創(chuàng)建一個容器在后臺運行,需要使用docker exec 進入容器,退出后,容器不會關(guān)閉。
    * --name: 為創(chuàng)建的容器命名
    * -p 宿主機端口:容器端口

#查看正在運行容器
docker ps
#查看所有容器
docker ps -a
#創(chuàng)建并啟動容器
docker run -d --name nginx1 -p 4200:80 nginx
#進入容器
docker exec -it ngnix1 /bin/bash
#停止容器
docker stop 容器名稱或者容器id
#啟動容器
docker start 容器名稱或者容器id
#刪除容器:如果是運行狀態(tài)則刪除失敗,需要停止容器才能刪除
docker rm 容器名稱或者容器id
#查看容器信息
docker inspect 同期名稱或者容器id

2.2.4 日志進程

#查看最近日志
docker logs -f 容器名/容器ID
#最近30分鐘的日志
docker logs
#查看某時間之后的日志
docker logs -t  --since="2022-08-08T18:08:08" 容器ID
#查看某時間段日志
docker logs  -t  --since="2022-08-08T18:08:08" --until "2022-08-08T20:08:08" 容器ID
 

2.2.5 數(shù)據(jù)卷容器

卷就是目錄或文件,存在于一個或多個容器中,由docker掛載到容器,但不屬于聯(lián)合文件系統(tǒng),因此能夠繞過Union File System提供一些用于持續(xù)存儲或共享數(shù)據(jù)的特性,卷的設(shè)計目的就是數(shù)據(jù)的持久化,完全獨立于容器的生存周期,因此Docker不會在容器刪除時刪除其掛載的數(shù)據(jù)卷。數(shù)據(jù)卷可在容器之間共享或重用數(shù)據(jù)并且卷中的更改可以直接實時生效,數(shù)據(jù)卷的生命周期一直持續(xù)到?jīng)]有容器使用它為止。

配置數(shù)據(jù)卷

docker run  ... -v 宿主機目錄(文件):容器內(nèi)目錄(文件)...

注意事項

  • 目錄必須是絕對路徑
  • 如果目錄不存在,會自動創(chuàng)建
  • 可以掛在多個數(shù)據(jù)卷
#mysql 同步數(shù)據(jù)
docker run -d -p 3310:3306 -v /www/server/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql1 mysql:5.5

2.2.6 dockerfile構(gòu)建docker鏡像文件

  • Dockerfile 是一個文本文件
  • 包含了一條條的指令
  • 每一條指令構(gòu)建一層,基于基礎(chǔ)鏡像,最終構(gòu)建出一個新的鏡像
  • 對于開發(fā)人員:可以為開發(fā)團隊提供一個完全一直的開發(fā)環(huán)境
  • 對于測試人員:可以直接那開發(fā)時所構(gòu)建的鏡像或者通過Dockerfile文件構(gòu)建一個新的鏡像開始工作
  • 對于運維人員:在部署時,可以實現(xiàn)應(yīng)用的無縫移植

構(gòu)建自己的centos鏡像如下圖

執(zhí)行dockerfile生成鏡像

docker build -f dockerfile文件的路徑 -t 設(shè)置新的鏡像的名稱和版本號 .  # 注意最后的點,代表生成的鏡像路徑

 -f 表示dockerfile路徑
  -t 設(shè)備新鏡像的名稱和版本號
最后的. 表示生成鏡像的路徑,為當(dāng)前路徑

2.2.7 Docker Compose

我們使用 Docker 的時候,定義 Dockerfile 文件,然后使用 docker build、docker run 等命令操作容器。然而微服務(wù)架構(gòu)的應(yīng)用系統(tǒng)一般包含若干個微服務(wù),每個微服務(wù)一般都會部署多個實例,如果每個微服務(wù)都要手動啟停,那么效率之低,維護量之大可想而知。

Compose 是用于定義和運行多容器 Docker 應(yīng)用程序的工具。通過 Compose,您可以使用 YML 文件來配置應(yīng)用程序需要的所有服務(wù)。然后,使用一個命令,就可以從 YML 文件配置中創(chuàng)建并啟動所有服務(wù)。

Compose 使用的三個步驟:

  • 使用 Dockerfile 定義應(yīng)用程序的環(huán)境。
  • 使用 docker-compose.yml 定義構(gòu)成應(yīng)用程序的服務(wù),這樣它們可以在隔離環(huán)境中一起運行。
  • 最后,執(zhí)行 docker-compose up 命令來啟動并運行整個應(yīng)用程序。

以上就是云原生之docker命令詳解的詳細(xì)內(nèi)容,更多關(guān)于云原生 docker命令的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • docker的卷映射手動指定位置的操作方法

    docker的卷映射手動指定位置的操作方法

    Docker中手動指定卷映射位置通過綁定掛載實現(xiàn),使用-v或--mount參數(shù),語法清晰,支持更多選項,注意宿主機目錄存在性、權(quán)限和SELinux限制,本文介紹docker的卷映射手動指定位置的操作方法,感興趣的朋友一起看看吧
    2025-02-02
  • Docker鏡像重命名的實現(xiàn)方法

    Docker鏡像重命名的實現(xiàn)方法

    本文主要介紹了Docker鏡像重命名的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Docker之開啟遠(yuǎn)程訪問的實現(xiàn)

    Docker之開啟遠(yuǎn)程訪問的實現(xiàn)

    這篇文章主要介紹了Docker之開啟遠(yuǎn)程訪問的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Docker啟動容器報錯:Ports are not available的解決方案

    Docker啟動容器報錯:Ports are not available的解決方案

    這篇文章主要介紹了Docker啟動容器報錯:Ports are not available的解決方案,Docker 將容器程序的端口號映射到宿主機的端口號,是一個 NAT 過程,這個過程可能會因為與 Windows NAT 服務(wù)沖突而失效,文中有詳細(xì)的解決方案,需要的朋友可以參考下
    2024-03-03
  • docker中mysql開啟日志的實現(xiàn)步驟

    docker中mysql開啟日志的實現(xiàn)步驟

    本文主要介紹了docker中mysql開啟日志的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • kali下對Docker的詳細(xì)安裝教程

    kali下對Docker的詳細(xì)安裝教程

    這篇文章主要介紹了kali下對Docker的詳細(xì)安裝,Docker是滲透測試中必學(xué)不可的一個容器工具,在其中,我們能夠快速創(chuàng)建、運行、測試以及部署應(yīng)用程序,對kali安裝docker相關(guān)知識感興趣的朋友一起看看吧
    2022-05-05
  • 詳解如何將java項目打包成docker鏡像并且可運行

    詳解如何將java項目打包成docker鏡像并且可運行

    java?項目打包成?Docker?可運行的鏡像,其目的是便于運用docker容器來管理項目,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2024-11-11
  • docker部署Prometheus+Cadvisor+Grafana實現(xiàn)服務(wù)器監(jiān)控

    docker部署Prometheus+Cadvisor+Grafana實現(xiàn)服務(wù)器監(jiān)控

    這篇文章主要為大家介紹了docker部署Prometheus+Cadvisor+Grafana實現(xiàn)服務(wù)器監(jiān)控,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • 清理Docker磁盤空間的幾種有效方法

    清理Docker磁盤空間的幾種有效方法

    隨著Docker的廣泛使用,管理Docker占用的磁盤空間變得越來越重要,長時間運行Docker環(huán)境,未使用的容器、鏡像、卷和網(wǎng)絡(luò)等會逐漸積累,占用大量磁盤空間,本文將介紹幾種清理Docker磁盤空間的有效方法,需要的朋友可以參考下
    2024-08-08
  • 讓非root用戶構(gòu)建Docker鏡像的三種方法

    讓非root用戶構(gòu)建Docker鏡像的三種方法

    在默認(rèn)情況下,Docker?需要?root?權(quán)限或?sudo?才能運行,這對于日常開發(fā)和?CI/CD?流水線可能不夠方便,那么,如何讓?非?root?用戶?也能構(gòu)建和運行?Docker?容器呢?本篇文章將介紹?三種方法?來實現(xiàn)這一目標(biāo),需要的朋友可以參考下
    2025-04-04

最新評論