国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

docker學習:docker容器管理

這篇具有很好參考價值的文章主要介紹了docker學習:docker容器管理。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、Docker是什么

  • Docker 是一種開源的容器化平臺,可以幫助開發(fā)人員和系統(tǒng)管理員更輕松地創(chuàng)建、部署和運行應用程序。它利用 Linux容器技術,將應用程序及其依賴項打包成一個可移植的容器,以便在不同的環(huán)境中運行,從而實現(xiàn)應用程序的快速部署和可移植性。

二、Dockerfile

(一)、docker鏡像的構建方式

1、直接拉取別人構建好的官方鏡像
eg:

docker pull zookeeper:3.7.1

2、利用安裝包自己編寫dockerfile構建
eg:
1)、下載zookeeper安裝包

wget https://downloads.apache.org/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz

2)、編寫Dockerfile

FROM test/java8
#我這邊是自己構建的java8鏡像

ENV ZOOKEEPER_VERSION 3.7.1
COPY apache-zookeeper-${ZOOKEEPER_VERSION}-bin /app
ENV ZOOKEEPER_HOME /app
ENV DOCKER true

RUN cp ${ZOOKEEPER_HOME}/conf/zoo_sample.cfg ${ZOOKEEPER_HOME}/conf/zoo.cfg

EXPOSE 2181 2888 3888

CMD ["/app/bin/zkServer.sh", "start-foreground"]
#CMD ["/bin/bash", "-c", "${ZOOKEEPER_HOME}/bin/zkServer.sh start-foreground"]

3)、編寫build.sh一鍵部署

#!/bin/sh
#Actively load user env
if [ -f "~/.bashrc" ];then
  echo "Warning! user bashrc file does not exist."
else
  source ~/.bashrc
fi

echo "build docker"
sudo docker build -t heracles/zookeeper:latest .

(二)、dockerfile

  • 和shell腳本類似(區(qū)別只是dockerfile中的命令是在鏡像中執(zhí)行的)

1、FROM:接基礎鏡像(可以是官方的也可以自己構建的),第一條必須是FROM,后續(xù)指令都會根據(jù)該鏡像構建

FROM centos

2、MAINTAINER:鏡像維護者的姓名和郵件地址

MAINTAINER lishiming@163.com

3、RUN:用于在鏡像中執(zhí)行命令,如下載一些安裝包等

RUN yum -y install mysql

4、COPY:用于將本地文件復制到鏡像中

COPY app /app

5、ADD:與COPY類似,也可以將本地文件或目錄復制到鏡像中,但是它還支持更多的功能,例如自動解壓縮和自動文件下載,一般情況下都是用COPY

ADD app.tar.gz /app

6、ENV:在鏡像中設置環(huán)境變量

ENV APP_HOME = /app

7、EXPOSE:聲明容器運行時要暴露的端口號

EXPOSE 12345

8、ENTRYPOING:容器啟動時執(zhí)行的命令,不會被docker run接的參數(shù)覆蓋,用于設置容器執(zhí)行時的主要命令

ENTRYPOINT ["sh", "/app/bin/start-all.sh"]

9、CMD:也是容器啟動時要執(zhí)行的默認命令,會被docker run后接的參數(shù)覆蓋

CMD ["/app/bin/zkServer.sh", "start-foreground"]
其中/app/bin/zkServer.sh是命令,start-foreground是參數(shù)

CMD也可以作為ENTRYPOINT的參數(shù)

ENTRYPOINT ["sh", "/app/bin/dolphinscheduler-daemon.sh"]
CMD ["start", "standalone-server"]
整個命令是這樣的:sh /app/bin/dolphinscheduler-daemon.sh start standalone-server,CMD命令后接的是ENTRYPOINT的參數(shù)

三、docker-compose.yml

  • Docker Compose 是 Docker 的一個工具,用于定義和運行多個 Docker 容器的應用程序。它基于 YAML文件格式,可以方便地定義和配置多個容器,以便在不同的環(huán)境中部署應用程序,作用主要是管理多個容器
version: '3'
services:
  dolphinscheduler:
    build: .
    depends_on:
      - mysql
      - zookeeper
    networks:
      - heracles-backend
      - heracles-db

  mysql:
    image: mysql:5.7
    restart: always
    privileged: true
    environment:
    volumes:
      - ./my.cnf:/etc/my.cnf
    networks:
      heracles-db:
        aliases:
          - db-mysql

  zookeeper:
    image: zookeeper:3.7.1
    networks:
      - heracles-backend

networks:
  heracles-db:
  heracles-backend:
  • 運行docker-compose up -d會去運行上述文件,如何有對應的image,則會直接啟動容器;如果沒有,則會構建鏡像并啟動容器
  • networks關鍵字用于定義docker網(wǎng)絡,以便在多個容器間進行通信,可以用docker network ls查看有哪些docker網(wǎng)絡,然后在docker-compose.yml中選用這些網(wǎng)絡;如果沒有這些網(wǎng)絡,則會自動以上級目錄為前綴自動構建docker網(wǎng)絡
  • 比如上述dolphinscheduler容器,要想連接到mysql容器,可以直接連接別名db-mysql或service名:mysql,用命令ping db-mysql或ping mysql測試

四、Docker常用命令

命令 含義
docker images | grep 鏡像名 查找指定的鏡像
docker ps | grep 容器名 在運行中的容器中查找指定容器
docker ps -a | grep 容器名 在所有容器中查找指定容器
docker run -d --name 自定義容器名 -p [host_port]:[container_port] 鏡像名 依據(jù)某鏡像啟動容器,host_port是宿主機的端口號,container_port是容器內(nèi)部端口號,表示將容器內(nèi)部的端口映射到宿主機的某個端口上,可以通過宿主機的端口訪問容器的端口
docker exec -it 容器名 bash 進入容器
docker rm 容器名 刪除容器
docker rmi 鏡像名 刪除鏡像
docker-compose up -d 啟動所有docker-compose.yml定義的服務
docker-compose down 停止并刪除所有docker-compose.yml定義的服務
docker-compose logs service名 查看docker-compose.yml定義的service日志
docker-compose start 啟動所有服務
docker-compose stop 停止所有服務
docker-compose restart 重啟所有服務
docker network ls 查看所有docker網(wǎng)絡
docker network create network名 創(chuàng)建docker網(wǎng)絡(默認bridge)
docker inspect 容器名 查看docker的詳細信息包括安裝位置等

五、Docker與Kubernetes(k8s)

1、docker與kubernetes

  • 定位:Docker是一個容器化平臺,它提供了構建、打包和運行應用程序的工具。Kubernetes是一個容器編排和管理平臺,它用于管理和協(xié)調多個Docker容器的部署、伸縮和升級。
  • 架構:Docker是一個單個容器引擎,它可以在一個宿主機上運行一個或多個容器。Kubernetes是一個分布式系統(tǒng),它由多個主機組成,其中每個主機可以運行多個Docker容器。
  • 功能:Docker提供了構建、打包、運行和分享容器的功能,以及一些基本的容器編排功能。Kubernetes提供了更廣泛的容器編排和管理功能,包括自動伸縮、負載均衡、服務發(fā)現(xiàn)、滾動升級等。
  • 級別:Docker處于基礎設施層,它主要關注如何將應用程序打包成可移植的容器。Kubernetes處于應用程序層,它主要關注如何管理和編排多個容器的部署和運行。

可以大概知道Docker是單一容器引擎,Kubernetes可以管理多個容器,Docker-compose也可以管理多個容器,兩者又有什么區(qū)別呢?
2、docker-compose與kubernetes

  • 定位:Docker Compose是一個本地開發(fā)工具,用于定義和運行多個Docker容器的應用程序。Kubernetes是一個分布式系統(tǒng),用于編排和管理多個容器的部署、伸縮和升級。
  • 架構:Docker Compose適用于單個主機上的容器應用程序,它依賴于Docker引擎。Kubernetes是一個分布式系統(tǒng),由多個主機組成,每個主機可以運行多個Docker容器。
  • 功能:Docker Compose提供了一種簡單的方式來定義和運行多個容器的應用程序。Kubernetes提供了更廣泛的功能,包括自動伸縮、負載均衡、服務發(fā)現(xiàn)、滾動升級等。
  • 編排方式:Docker Compose使用YAML文件來定義容器應用程序,它可以在單個主機上快速啟動和停止多個容器。Kubernetes使用YAML文件或命令行工具來定義和管理多個容器的部署、服務和資源。
  • 可移植性:Kubernetes的可移植性更高,它可以在不同的云平臺和基礎設施上運行,包括AWS、Azure、Google Cloud等。Docker Compose則更適合本地開發(fā)和測試環(huán)境,它可以在開發(fā)者的電腦上運行。

總結:若是單個容器,可以使用多個容器;若是多個容器,可以使用docker-compose;若是生產(chǎn)環(huán)境使用很多個容器,可以使用K8s文章來源地址http://www.zghlxwxcb.cn/news/detail-500703.html

到了這里,關于docker學習:docker容器管理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Docker技術--Docker容器管理

    1.Docker 容器相關的指令(單個容器操) ? ? ? ?我們之前在Docker中部署了一個實際應用的案例wordpress,其中使用到了一些相關于容器的指令,那么下面我們一起來總結使用。 Docker指令的語法規(guī)則如下所示: Docker + 命令 [+參數(shù)選項] -1 類:關閉、開啟、重啟、開啟自啟 systemct

    2024年02月11日
    瀏覽(26)
  • 什么是docker(docker客戶端、鏡像、容器、倉庫)

    Docker 是一個開源的容器化平臺,它可以讓開發(fā)者打包應用程序及其依賴項成為一個輕量級、可移植的容器,然后在任何環(huán)境中運行。Docker 容器將應用程序及其依賴項打包到一個標準化單元中,包括代碼、運行時環(huán)境、系統(tǒng)工具、系統(tǒng)庫等,確保應用程序在不同的環(huán)境中具有

    2024年04月10日
    瀏覽(35)
  • 【Docker系列】容器基礎、Docker鏡像管理

    個人名片: 對人間的熱愛與歌頌,可抵歲月冗長?? Github???????:念舒_C.ying CSDN主頁??:念舒_C.ying 個人博客?? :念舒_C.ying 2.1 Docker鏡像查找 命令查找 docker官網(wǎng)查找 2.2 Docker鏡像管理 拉取MySQL鏡像 查看本地鏡像 鏡像加速(阿里云) Daocloud鏡像站加速 鏡像刪除 2.3 容器

    2024年01月25日
    瀏覽(23)
  • Docker進階:Docker Compose(容器編排) 管理多容器應用—實戰(zhàn)案例演示

    Docker進階:Docker Compose(容器編排) 管理多容器應用—實戰(zhàn)案例演示

    ??The Begin??點點關注,收藏不迷路?? 在開始之前,我們需要確保已經(jīng)安裝了 Docker 。 前面我們使用 Docker 的時候,定義 Dockerfile 文件,然后使用 docker build、docker run 等命令操作容器。然而微服務架構的應用系統(tǒng)一般包含若干個微服務,每個微服務一般都會部署多個實例,如

    2024年02月08日
    瀏覽(25)
  • 【docker系列】詳解docker容器狀態(tài)轉換管理命令

    【docker系列】詳解docker容器狀態(tài)轉換管理命令

    本文系docker系列專欄第六篇。docker容器有三種狀態(tài)運行、停止、暫停,鏡像可以創(chuàng)建、運行容器,鏡像和容器也可以轉換成tar壓縮包進行存儲。本文為大家介紹容器的狀態(tài)轉換命令及鏡像創(chuàng)建運行容器、tar包導入導出相關的命令及使用場景。 結合下文中的命令介紹來理解上面

    2023年04月25日
    瀏覽(16)
  • 【docker系列】深入理解 Docker 容器管理與清理

    【docker系列】深入理解 Docker 容器管理與清理

    ??????歡迎來到我的博客,很高興能夠在這里和您見面!希望您在這里可以感受到一份輕松愉快的氛圍,不僅可以獲得有趣的內(nèi)容和知識,也可以暢所欲言、分享您的想法和見解。 推薦:kwan 的首頁,持續(xù)學習,不斷總結,共同進步,活到老學到老 導航 檀越劍指大廠系列:全面總

    2024年03月25日
    瀏覽(25)
  • 06. 管理Docker容器數(shù)據(jù)

    06. 管理Docker容器數(shù)據(jù)

    目錄 1、前言 2、Docker實現(xiàn)數(shù)據(jù)管理的方式 2.1、數(shù)據(jù)卷(Data Volumes) 2.2、數(shù)據(jù)卷容器(Data Volume Containers) 3、簡單示例 3.1、數(shù)據(jù)卷示例 3.2、數(shù)據(jù)卷容器示例 在生產(chǎn)環(huán)境中使用 Docker,一方面,需要對數(shù)據(jù)進行保存或者在多個容器之間進行數(shù)據(jù)共享;另一方面,在 Docker 的容器

    2024年02月14日
    瀏覽(29)
  • 云原生Docker容器管理

    目錄 docker容器的管理 容器創(chuàng)建 ?查看容器的運行狀態(tài) 啟動容器 創(chuàng)建并啟動容器? 終止容器運行 ?刪除容器 ?容器的進入 ?查看容器詳細信息 復制到容器中 從容器復制文件到主機 容器的導出與導入 導出 ?導入 相當于一個進程,性能接近于原生,幾乎沒有損耗; docker容器在

    2024年02月07日
    瀏覽(22)
  • docker容器管理

    docker容器管理

    創(chuàng)建容器: docker run --name 容器名 -d -p 端口1:端口2 鏡像名 –name :是啟動容器時,給容器定義的名稱,不使用該參數(shù)時,容器啟動成功之后,會生成隨機名稱 -d :代表容器處于后臺yunx -p :指定容器的端口映射,端口1指外界可訪問的端口號,端口2指容器內(nèi)部項目對應的端口號

    2024年02月12日
    瀏覽(10)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包