• <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

            久久精品成人免费国产片小草| 亚洲综合日韩久久成人AV| 成人妇女免费播放久久久| 精品国产乱码久久久久久人妻| 久久久久亚洲精品无码蜜桃| 99久久免费国产精精品| 99热都是精品久久久久久| 亚洲第一永久AV网站久久精品男人的天堂AV| 麻豆久久| 久久久噜噜噜久久中文福利| 国产激情久久久久影院小草| 色婷婷综合久久久中文字幕| 久久久艹| 久久婷婷五月综合色奶水99啪| 四虎久久影院| 午夜不卡888久久| 亚洲国产精品久久电影欧美| 欧美色综合久久久久久| 久久亚洲日韩精品一区二区三区| 麻豆久久久9性大片| 久久精品国产一区| 久久人人爽人人爽人人AV| 久久久久亚洲av成人无码电影 | 浪潮AV色综合久久天堂| 久久精品视频91| 欧美久久综合性欧美| 国内精品久久久久伊人av| 人妻无码久久一区二区三区免费| 久久亚洲精品国产亚洲老地址| 久久久久亚洲AV无码去区首| 久久免费精品视频| 91精品国产色综合久久| 国产成人久久精品区一区二区| 国内精品久久人妻互换| 久久噜噜电影你懂的| 久久精品国产免费| 91久久国产视频| 99久久精品费精品国产| 久久久久久亚洲精品无码| 欧美激情精品久久久久久久九九九| 亚洲美日韩Av中文字幕无码久久久妻妇 |