<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] ## 一 docker-compose的簡介 docker-compose是dokcer官方的單機編排工具,讓用戶通過編寫一個簡單的模板文件,快速地創建和管理基于docker容器的應用集群。實現對docker容器集群的快速編排。 允許用戶通過一個單獨的docker-compose.yml模板文件(YAML格式)來定義一組相關聯的應用容器作為一個項目(project) ### A. Compose2個重要概念: 1. 服務(service) 一個應用的容器,實際上可以包含若干運行相同鏡像的容器實例。 2. 項目(project) 由一組關聯的應用容器組成的一個完整業務單元,在docker-compose.yml文件中定義。 ### B. 使用Compose的三步驟: 1. Dockerfile 定義應用的運行環境 2. docker-compose.yml 定義組成應用的各服務 3. docker-compose up 啟動整個應用 ### C. docker-compose命令與模板文件 1. docker-compose命令 對于Compose來說,大部分命令的對象既可以是項目本身,也可以指定為項目中的服務或容器。默認針對項目 ``` docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...] -f 指定使用的Compose模板文件,默認為docker-compose.yml,可多次指定 -p 指定項目名稱,默認將使用所在目錄名稱作為項目名 -x-network-driver DRIVER指定網絡后端的驅動,默認為bridge ``` 2. compose的yml模板 docker-compose.yml文件是compose的模板文件默認文件名,使用docker-compose時,會通過該模板文件構建鏡像、啟動容器、關聯容器等 Docker Compose 運行目錄下的所有文件(docker-compose.yml)組成一個工程,一個工程包含多個服務,每個服務中定義了容器運行的鏡像、參數、依賴,一個服務可包括多個容器實例 模板文件類似dockerfile,但命令更多,命令詳情見模板文件詳解 ## 二 docker-compose安裝 Compose項目是用Python語言編寫的,所以compose可以通過python的pip工具進行安裝。安裝過程如下: ### A. pip在線安裝法 1. 安裝更新pip ```sh curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum install -y python-pip pip install --upgrade pip -i https://pypi.douban.com/simple/ ``` 2. pip安裝docker-compose ```sh pip install docker-compose -i https://pypi.douban.com/simple/ [root@docker01 ~]# docker-compose version docker-compose version 1.24.0, build 0aa5906 docker-py version: 3.7.2 CPython version: 2.7.5 OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013 ``` ### B. github腳本安裝法 可以直接下載docker官方存放在GitHub上的程序,然后授權啟動即可,這樣做的好處是可以控制下載指定的版本使用,而第一種方法默認會下載最新版 ```sh wget -O /usr/local/bin/docker-compose \ https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m) chmod +x /usr/local/bin/docker-compose ``` ## 三 Compose編排快速使用 ### A. 簡單編排演示 1. 創建目錄及模板文件 ```sh mkdir /test/www -p && cd /test/ cat >docker-compose.yml <<EOF version: "3" volumes: web: services: web-ser1: image: busybox:latest command: httpd -h /test/ -p 80 -f volumes: - web:/test/ ports: - "81:80" web-ser2: image: busybox:latest command: httpd -h /test/ -p 80 -f volumes: - /test/www/:/test/ ports: - "82:80" EOF ``` 2. 啟動項目并寫入測試文件 ```sh docker-compose up -d echo 'linux file test pag' > /test/www/index.html echo 'docker-volumes test pags' >/var/lib/docker/volumes/test_web/_data/index.html ``` 3. 驗證功能 ```sh [root@docker01 test]# curl 127.0.0.1:81 docker-volumes test pags [root@docker01 test]# curl 127.0.0.1:82 linux file test pag ``` ### B. 該模板功能解釋 該模板做了一下幾件事: 1. 目錄為`test`,所以項目名就是test 2. compose模板有3個語法版本,使用第3版 3. 創建一個卷web,會自動加上項目名為`test_web` 4. 創建第一個容器`web-ser1`,全名`test_web-ser1_1` * 用busybox做鏡像,將docker卷web掛載到`/test/` * 啟動簡易httpd服務,映射端口81:80 5. 創建第二個容器`web-ser2`,全名`test_web-ser2_1` * 用busybox做鏡像,將指定目錄掛載到`/test/` * 啟動簡易httpd服務,映射端口82:80 可以通過docker相關命令驗證是是否有創建相關的卷 1. 驗證volume ```sh [root@docker02 test]# docker volume ls DRIVER VOLUME NAME local test_web [root@docker02 test]# docker volume inspect test_web|grep data "Mountpoint": "/var/lib/docker/volumes/test_web/_data", ``` 2. 驗證容器 ```sh [root@docker02 test]# docker container ls CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f378003a21d3 busybox:latest "httpd -h /test/ -p …" 23 minutes ago Up 23 minutes 0.0.0.0:82->80/tcp test_web-ser2_1 47ca927c1abd busybox:latest "httpd -h /test/ -p …" 23 minutes ago Up 23 minutes 0.0.0.0:81->80/tcp test_web-ser1_1 [root@docker02 test]# docker container inspect test_web-ser1_1 |grep -A5 Mounts "Mounts": [ { "Type": "volume", "Name": "test_web", "Source": "/var/lib/docker/volumes/test_web/_data", "Destination": "/test", [root@docker02 test]# docker container inspect test_web-ser2_1 |grep -A4 Mounts "Mounts": [ { "Type": "bind", "Source": "/test/www", "Destination": "/test", ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看