<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Docker環(huán)境配置指南!

          共 4477字,需瀏覽 9分鐘

           ·

          2021-02-17 22:19

          ↑↑↑關(guān)注后"星標"Datawhale
          每日干貨?&?每月組隊學習,不錯過
          ?Datawhale干貨?
          來源:Tianchi,內(nèi)容:Docker環(huán)境配置
          Docker是一個開源的引擎,可以輕松的為任何應(yīng)用創(chuàng)建一個輕量級的、可移植的、自給自足的容器。開發(fā)者在筆記本上編譯測試通過的容器可以批量地在生產(chǎn)環(huán)境中部署,包括VMs(虛擬機)、 bare metal、OpenStack 集群和其他的基礎(chǔ)應(yīng)用平臺。

          Docker通常用于如下場景:

          • web應(yīng)用的自動化打包和發(fā)布;
          • 自動化測試和持續(xù)集成、發(fā)布;
          • 在服務(wù)型環(huán)境中部署和調(diào)整數(shù)據(jù)庫或其他的后臺應(yīng)用;
          • 從頭編譯或者擴展現(xiàn)有的OpenShift或Cloud Foundry平臺來搭建自己的PaaS環(huán)境。
          Docker強大的功能,越來越多的場景下,需要我們使用Docker部署和發(fā)布我們的代碼。今天就梳理下,如何入門Docker。


          一、本地環(huán)境安裝docker工具

          ubutun安裝

          這里以阿里云ECS(ubutun)下安裝docker為例。命令行安裝:

          sudo?apt?install?docker.io

          驗證:

          docker?info

          Mac安裝

          下載MAC版本的docker:

          https://hub.docker.com/editions/community/docker-ce-desktop-mac/

          Windows安裝

          下載Windows版本的docker:?

          https://hub.docker.com/editions/community/docker-ce-desktop-windows/

          注意:下載成功后,直接install就可以了,一路Next即可安裝完成。請自己的docker id,登陸;

          二、創(chuàng)建鏡像倉庫

          這里以申請阿里云容器鏡像服務(wù)(免費),并創(chuàng)建倉庫為例,其他倉庫如dockerhub、谷歌、亞馬遜、騰訊等詳見對應(yīng)產(chǎn)品說明書。

          阿里云容器服務(wù)地址為:https://cr.console.aliyun.com

          注冊開通后產(chǎn)品頁面如下

          1. 創(chuàng)建命名空間

          第一步切換標簽頁到命名空間,創(chuàng)建地址唯一的命名空間

          根據(jù)大賽要求選擇對應(yīng)的地域,其他的按照自己需求選擇或填寫

          2.?創(chuàng)建鏡像倉庫

          下一步,選擇本地倉庫,不建議其他選項,完成創(chuàng)建。

          點擊管理,可查看詳情。

          3. 完成本地登錄

          按照頁面的指令在本地完成登陸:

          export?DOCKER_REGISTRY=?your_registry_url?(注意這里your_registry_url最后字段結(jié)尾,不能多不能少
          E.g?registry.cn-shanghai.aliyuncs.com/xxxx/xxxx)?docker?login?$DOCKER_REGISTRY?\?--username?your_username?\?--password?your_password

          三、構(gòu)建鏡像并推送

          在安裝好Docker環(huán)境的本機/服務(wù)器構(gòu)建并推送容器鏡像。過程中可能會使用docker命令,如拉取docker pull,推送docker push,構(gòu)建docker build等等。

          為簡化構(gòu)建鏡像的難度,天池已準備了常用的Python基礎(chǔ)鏡像,可直接拉取使用,自行構(gòu)建鏡像請確保安裝curl.更多基礎(chǔ)鏡像說明可參考:https://tianchi.aliyun.com/forum/postDetail?postId=67720。

          docker?pull?registry.cn-shanghai.aliyuncs.com/tcc-public/python:3

          1. 準備所需文件

          新建一個文件夾(例如tianchi_submit_demo)用于存放這次任務(wù)鏡像所需的文件,文件夾中內(nèi)容示例,其中hello_world.py中是各位自己的代碼部分:

          Dockerfile配置文件參考,Dockerfile是固定名稱,注意首字母大寫。Dockerfile中命令皆大寫:

          #?Base?Images
          ##?從天池基礎(chǔ)鏡像構(gòu)建
          FROM?registry.cn-shanghai.aliyuncs.com/tcc-public/python:3

          ##?把當前文件夾里的文件構(gòu)建到鏡像的根目錄下
          ADD?.?/

          ##?指定默認工作目錄為根目錄(需要把run.sh和生成的結(jié)果文件都放在該文件夾下,提交后才能運行)
          WORKDIR?/

          ##?鏡像啟動后統(tǒng)一執(zhí)行?sh?run.sh
          CMD?["sh",?"run.sh"]

          run.sh參考:

          python?hello_world.py

          2. 構(gòu)建鏡像并推送(2.1及2.2皆可)

          2.1 IDE + Cloud Toolkit

          推薦使用 Alibaba Cloud Toolkit:https://cn.aliyun.com/product/cloudtoolkit 進行操作。

          Cloud Toolkit 與主流 IDE 及阿里云容器鏡像服務(wù)無縫集成,可以簡化操作。這里以在 IntelliJ IDEA 中使用 Alibaba Cloud Toolkit 為例。只需配置一次,之后都可一鍵推送~

          2.1.1. 安裝及配置

          在本地 IDE 中安裝 Alibaba Cloud Toolkit 并進行阿里云賬戶配置。

          參見:在 IntelliJ IDEA 中安裝和配置 Cloud Toolkit:https://help.aliyun.com/document_detail/98762.html

          2.1.2. 設(shè)置環(huán)境

          設(shè)置用于打包本地鏡像的 Docker 環(huán)境。

          1. 在 IntelliJ IDEA 工具欄單擊 Tools > Alibaba Cloud > Preferences…

          2. 在 Settings 對話框的左側(cè)導航欄中單擊 Docker

          3. 在 Docker 界面中設(shè)置 Cloud Toolkit 需要連接的 Docker 環(huán)境。

          注意:如果出現(xiàn)連接測試報錯,可進入 Docker 的 Settings 界面,單擊左側(cè)導航欄中的 General,然后選擇 Expose daemon on tcp://localhost:2375 without TLS。

            • 本地為 Mac 或 Linux 操作系統(tǒng),勾選 Unix Socket,然后單擊 Browse,輸入unix:///var/run/docker.sock
            • 本地為 Windows 操作系統(tǒng),勾選 TCP Connection,然后在 URI 右側(cè)文檔框輸入本地 Docker 的 URI,如 http://127.0.0.1:2375。
            • 遠程 Docker 環(huán)境:勾選 Tcp Connection,在 URI 右側(cè)的文本框里輸入遠端的 Docker 環(huán)境的 URI(包括 IP 地址和端口),如 http://x.x.x.x:2375,并確保遠程主機的 HTTP 服務(wù)開啟。
            • 單擊 Test Connection 進行連接測試。

          2.1.3. 構(gòu)建并上傳應(yīng)用

          1. 在 IntelliJ IDEA 的菜單欄中選擇 File > Open… ,選擇參賽的工程文件。
          2. 在 IntelliJ IDEA 界面左側(cè)的 Project 中右鍵單擊您的 Docker 應(yīng)用工程名,在彈出的下拉菜單中選擇 Alibaba Cloud > Deploy to ACR/ACK > Deploy to ACR
          3. 在 Deploy to ACR 對話框中進行以下配置。
            • Context Directory:參賽的工程文件所在的目錄,例如上文中的 tianchi_submit_demo 。
            • Dockerfile:選擇上文中創(chuàng)建的 Dockerfile。
            • Version:對上傳的工程文件做版本標記。例如 1.0
            1. 在 Image 頁簽中選擇Context Directory和Dockerfile。
            2. 在 Image Repositories 區(qū)域選擇上文中創(chuàng)建的容器鏡像服務(wù)的地域、命名空間和鏡像倉庫。

          2.1.4. 單擊 RUN

          下次就可以一鍵完成哦~

          2.2 服務(wù)器上直接操作

          執(zhí)行

          docker build -t registry.cn-shenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0 .

          注意:registry.~~~是上面創(chuàng)建倉庫的公網(wǎng)地址,用自己倉庫地址替換。地址后面的:1.0為自己指定的版本號,用于區(qū)分每次build的鏡像。最后的.是構(gòu)建鏡像的路徑,不可以省掉。

          構(gòu)建完成后可先驗證是否正常運行,正常運行后再進行推送。

          CPU鏡像:

          docker run your_image sh run.sh

          GPU鏡像:

          nvidia-docker run your_image sh run.sh

          推送到鏡像倉庫

          docker push registry.cn-shenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0

          如果這步出錯,可能你沒有登錄,按照倉庫里描述操作登錄即可。

          第一次推送會比較耗時,可以休息一會了~o( ̄▽ ̄)d

          四、提交驗證運行結(jié)果

          在左側(cè)【提交結(jié)果】中填寫推送的鏡像路徑、用戶名和密碼,即可提交。根據(jù)【我的成績】中的分數(shù)和日志可以查看運行情況。

          五、常見問題及解決方案

          問題1. 如果你是在本機使用腳本build 鏡像如docker build -t resgist… .可能會報錯如下:

          ERROR:?Could?not?open?requirements?file:?[Errno?2]?No?such?file?or?directory:?'C:/Users/wyx/Desktop/tianchi_docker/requirements.txt'

          解決方法:在Dockerfile文件的安裝依賴包之前加一行COPY requirements.txt requirements.txt

          問題2.??登陸鏡像倉庫失敗,提示賬號密碼錯誤,請注意這里的賬號密碼非阿里云的賬號密碼而是你開通倉庫服務(wù)時設(shè)置的賬號密碼,如果忘記密碼,找回路徑如下:

          找回容器鏡像登錄密碼

          問題3. push 完成后刷新倉庫網(wǎng)頁看不到鏡像版本,擔心上傳失敗

          容器鏡像網(wǎng)頁存在一定的延遲,只要你本地push命令行沒有出錯就大膽去大賽提交即可,如果實在不放心你可以刪除本地鏡像然后pull一下驗證。

          問題4. 以上僅僅是docker能夠提交大賽的基本動作,針對大家對docker的調(diào)試、出錯等需求我們近期會開設(shè)docker訓練營示范常見調(diào)試技巧,線上提交常見問題等

          閱讀原文可以進行Docker實踐
          “整理不易,三連
          瀏覽 95
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  粉嫩小泬BBBB免费看 | 人妻无码日韩 | 一区无码高清 | 男女操逼免费看 | 黑人操逼逼 |