• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Benjamin

            靜以修身,儉以養(yǎng)德,非澹薄無以明志,非寧靜無以致遠(yuǎn)。
            隨筆 - 397, 文章 - 0, 評(píng)論 - 196, 引用 - 0
            數(shù)據(jù)加載中……

            Docker Compose的使用(linux)

            Compose 項(xiàng)目由 Python 編寫,實(shí)現(xiàn)上調(diào)用了 Docker 服務(wù)提供的 API 來對(duì)容器進(jìn)行管理,Docker Compose 是 Docker 的獨(dú)立產(chǎn)品,因此需要安裝 Docker 之后在單獨(dú)安裝 Docker Compose .
            一、安裝
            1、#下載
              sudo curl -L https://github.com/docker/compose/releases/download/1.20.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
              #安裝
              chmod +x /usr/local/bin/docker-compose
              #查看版本
              docker-compose version
            2、#安裝pip
              yum -y install epel-release
              yum -y install python-pip
              #確認(rèn)版本
              pip --version
              #更新pip
              pip install --upgrade pip
              #安裝docker-compose
              pip install docker-compose 
              #查看版本
              docker-compose version
             3、安裝Docker 的補(bǔ)全提示工具(可選)
              #安裝
              yum install bash-completion
              #下載docker-compose腳本
              curl -L https://raw.githubusercontent.com/docker/compose/$(docker-compose version --short)/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
            二、創(chuàng)建 Dockerfile(官網(wǎng)示例)
              FROM python:3.4-alpine    #使用基礎(chǔ)鏡像 Python 3.4
              ADD . /code               #將當(dāng)前目錄映射到鏡像/code目錄下
              WORKDIR /code             #設(shè)置工作目錄為 /code
              RUN pip install -r requirements.txt #安裝 Python 依賴包
              EXPOSE 8070 8055            #expose說明docker容器開放了哪些端口;在此之后使用-P命令進(jìn)行隨機(jī)映射的時(shí)候,會(huì)映射到EXPOSE聲明的端口 8070是宿主端口,8055是容器端口
              CMD ["python", "app.py"]  #啟動(dòng) app.py 程序
             三、Compose 文件定義一個(gè)服務(wù)即創(chuàng)建一個(gè) docker-compose.yml 文件
             
             version: '2'
            services:
              web:
                build: .   #使用 Dockerfile 構(gòu)建了當(dāng)前鏡像(將當(dāng)前目錄做為構(gòu)建鏡像上下文時(shí),還可通過-t參數(shù)指定構(gòu)建成后鏡像的倉庫、標(biāo)簽等,-f指定該文件的位置);構(gòu)建上下文是指Dockerfile所在的本地路徑或一個(gè)URL(Git倉庫地址)。構(gòu)建上下文環(huán)境會(huì)被遞歸處理,所以,構(gòu)建所指定的路徑還包括了子目錄,而URL還包括了其中指定的子模塊。
                ports:
                 - "5000:5000" #將 Web 容器內(nèi)部的5000端口映射到 host 的5000端口
              redis:
                image: "redis:alpine" #直接由官方的 redis 鏡像創(chuàng)建
             四、ompose 編譯啟動(dòng)應(yīng)用
              docker-compose up啟動(dòng)
              docker-compose up -d在后臺(tái)啟動(dòng)服務(wù)
             五、常用命令
            [root@localhost composetest]# docker-compose ps
                   Name                      Command               State           Ports         
            -------------------------------------------------------------------------------------
            composetest_redis_1   docker-entrypoint.sh redis ...   Up      6379/tcp              
            composetest_web_1     python app.py                    Up      0.0.0.0:5000->5000/tcp
            使用docker-compose stop停止服務(wù)。
            [root@localhost composetest]# docker-compose stop
            Stopping composetest_web_1   ... done
            Stopping composetest_redis_1 ... done
            其它常用命令
            #查看幫助
            docker-compose -h
            # -f  指定使用的 Compose 模板文件,默認(rèn)為 docker-compose.yml,可以多次指定。
            docker-compose -f docker-compose.yml up -d 
            #啟動(dòng)所有容器,-d 將會(huì)在后臺(tái)啟動(dòng)并運(yùn)行所有的容器
            docker-compose up -d
            #停用移除所有容器以及網(wǎng)絡(luò)相關(guān)
            docker-compose down
            #查看服務(wù)容器的輸出
            docker-compose logs
            #列出項(xiàng)目中目前的所有容器
            docker-compose ps
            #構(gòu)建(重新構(gòu)建)項(xiàng)目中的服務(wù)容器。服務(wù)容器一旦構(gòu)建后,將會(huì)帶上一個(gè)標(biāo)記名,例如對(duì)于 web 項(xiàng)目中的一個(gè) db 容器,可能是 web_db??梢噪S時(shí)在項(xiàng)目目錄下運(yùn)行 docker-compose build 來重新構(gòu)建服務(wù)
            docker-compose build
            #拉取服務(wù)依賴的鏡像
            docker-compose pull
            #重啟項(xiàng)目中的服務(wù)
            docker-compose restart
            #刪除所有(停止?fàn)顟B(tài)的)服務(wù)容器。推薦先執(zhí)行 docker-compose stop 命令來停止容器。
            docker-compose rm 
            #在指定服務(wù)上執(zhí)行一個(gè)命令。
            docker-compose run ubuntu ping docker.com
            #設(shè)置指定服務(wù)運(yùn)行的容器個(gè)數(shù)。通過 service=num 的參數(shù)來設(shè)置數(shù)量
            docker-compose scale web=3 db=2
            #啟動(dòng)已經(jīng)存在的服務(wù)容器。
            docker-compose start
            #停止已經(jīng)處于運(yùn)行狀態(tài)的容器,但不刪除它。通過 docker-compose start 可以再次啟動(dòng)這些容器。
            docker-compose stop

            posted on 2020-05-25 19:05 Benjamin 閱讀(347) 評(píng)論(0)  編輯 收藏 引用 所屬分類: linux

            久久精品黄AA片一区二区三区| 久久最新精品国产| 久久精品免费全国观看国产| 人人狠狠综合久久亚洲高清| 波多野结衣久久| 狠狠色婷婷综合天天久久丁香 | 一本色道久久88综合日韩精品 | 久久久久精品国产亚洲AV无码| 久久精品成人欧美大片| 国产韩国精品一区二区三区久久 | 奇米综合四色77777久久| 国产精品一久久香蕉产线看 | 国内精品久久九九国产精品| 国产成人久久久精品二区三区 | 久久91亚洲人成电影网站| 国内精品久久久久久久coent| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 波多野结衣久久一区二区| 97精品久久天干天天天按摩| 久久天天躁狠狠躁夜夜2020| 色婷婷综合久久久中文字幕| 久久久久九九精品影院| 国产成人精品久久二区二区| 精品久久久久久久久免费影院| 久久久久国产一级毛片高清版| 波多野结衣久久| 久久综合给合综合久久| 久久精品国产精品青草app| 亚洲AV无码一区东京热久久| 国内精品久久久久久久coent| 狠狠色丁香久久婷婷综合五月 | 天天综合久久一二三区| 久久久91精品国产一区二区三区 | 亚洲中文精品久久久久久不卡| 热久久国产欧美一区二区精品| 久久综合中文字幕| 久久免费精品一区二区| 久久精品国产亚洲网站| 91精品国产综合久久久久久| 久久发布国产伦子伦精品| 久久99精品久久只有精品|