一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

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

 風(fēng)聲之家 2021-04-07

好奇心Log 今天

以下文章來(lái)源于Datawhale ,作者Tianchi 

來(lái)源:Tianchi,內(nèi)容:Docker環(huán)境配置
Docker是一個(gè)開(kāi)源的引擎,可以輕松的為任何應(yīng)用創(chuàng)建一個(gè)輕量級(jí)的、可移植的、自給自足的容器。開(kāi)發(fā)者在筆記本上編譯測(cè)試通過(guò)的容器可以批量地在生產(chǎn)環(huán)境中部署,包括VMs(虛擬機(jī))、 bare metal、OpenStack 集群和其他的基礎(chǔ)應(yīng)用平臺(tái)。

Docker通常用于如下場(chǎng)景:

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

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

ubutun安裝

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

sudo apt install docker.io

驗(yàn)證:

docker info

Mac安裝

下載MAC版本的docker:

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

Windows安裝

下載Windows版本的docker: 

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

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

二、創(chuàng)建鏡像倉(cāng)庫(kù)

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

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

注冊(cè)開(kāi)通后產(chǎn)品頁(yè)面如下

圖片

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

第一步切換標(biāo)簽頁(yè)到命名空間,創(chuàng)建地址唯一的命名空間圖片

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

2. 創(chuàng)建鏡像倉(cāng)庫(kù)

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

點(diǎn)擊管理,可查看詳情。

3. 完成本地登錄

按照頁(yè)面的指令在本地完成登陸:

export DOCKER_REGISTRY= your_registry_url<docker 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)境的本機(jī)/服務(wù)器構(gòu)建并推送容器鏡像。過(guò)程中可能會(huì)使用docker命令,如拉取docker pull,推送docker push,構(gòu)建docker build等等。

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

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

1. 準(zhǔn)備所需文件

新建一個(gè)文件夾(例如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

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

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

## 鏡像啟動(dòng)后統(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 進(jìn)行操作。

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

2.1.1. 安裝及配置

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

參見(jiàn):在 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 對(duì)話框的左側(cè)導(dǎo)航欄中單擊 Docker。

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

注意:如果出現(xiàn)連接測(cè)試報(bào)錯(cuò),可進(jìn)入 Docker 的 Settings 界面,單擊左側(cè)導(dǎo)航欄中的 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。
    • 遠(yuǎn)程 Docker 環(huán)境:勾選 Tcp Connection,在 URI 右側(cè)的文本框里輸入遠(yuǎn)端的 Docker 環(huán)境的 URI(包括 IP 地址和端口),如 http://x.x.x.x:2375,并確保遠(yuǎn)程主機(jī)的 HTTP 服務(wù)開(kāi)啟。
    • 單擊 Test Connection 進(jìn)行連接測(cè)試。

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 對(duì)話框中進(jìn)行以下配置。
    • Context Directory:參賽的工程文件所在的目錄,例如上文中的 tianchi_submit_demo 。
    • Dockerfile:選擇上文中創(chuàng)建的 Dockerfile。
    • Version:對(duì)上傳的工程文件做版本標(biāo)記。例如 1.0
    1. 在 Image 頁(yè)簽中選擇Context Directory和Dockerfile。
    2. 在 Image Repositories 區(qū)域選擇上文中創(chuàng)建的容器鏡像服務(wù)的地域、命名空間和鏡像倉(cāng)庫(kù)。

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)建倉(cāng)庫(kù)的公網(wǎng)地址,用自己倉(cāng)庫(kù)地址替換。地址后面的:1.0為自己指定的版本號(hào),用于區(qū)分每次build的鏡像。最后的.是構(gòu)建鏡像的路徑,不可以省掉。

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

CPU鏡像:

docker run your_image sh run.sh

GPU鏡像:

nvidia-docker run your_image sh run.sh

推送到鏡像倉(cāng)庫(kù)

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

如果這步出錯(cuò),可能你沒(méi)有登錄,按照倉(cāng)庫(kù)里描述操作登錄即可。

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

四、提交驗(yàn)證運(yùn)行結(jié)果

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

五、常見(jiàn)問(wèn)題及解決方案

問(wèn)題1. 如果你是在本機(jī)使用腳本build 鏡像如docker build -t resgist… .可能會(huì)報(bào)錯(cuò)如下:

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。

問(wèn)題2.  登陸鏡像倉(cāng)庫(kù)失敗,提示賬號(hào)密碼錯(cuò)誤,請(qǐng)注意這里的賬號(hào)密碼非阿里云的賬號(hào)密碼而是你開(kāi)通倉(cāng)庫(kù)服務(wù)時(shí)設(shè)置的賬號(hào)密碼,如果忘記密碼,找回路徑如下:

找回容器鏡像登錄密碼

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

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

問(wèn)題4. 以上僅僅是docker能夠提交大賽的基本動(dòng)作,針對(duì)大家對(duì)docker的調(diào)試、出錯(cuò)等需求我們近期會(huì)開(kāi)設(shè)docker訓(xùn)練營(yíng)示范常見(jiàn)調(diào)試技巧,線上提交常見(jiàn)問(wèn)題

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    国产精品免费视频专区| 日韩精品一区二区不卡| 日韩性生活视频免费在线观看 | 夫妻性生活黄色录像视频 | 国产肥女老熟女激情视频一区| 日本成人三级在线播放| 欧美日韩精品综合一区| 亚洲妇女黄色三级视频| 日韩精品免费一区三区| 91欧美激情在线视频| 麻豆最新出品国产精品| 国产一级一片内射视频在线| 亚洲伦片免费偷拍一区| 中文字幕亚洲精品在线播放| 在线日本不卡一区二区| 精品亚洲一区二区三区w竹菊| 欧美日韩亚洲巨色人妻| 日韩精品福利在线观看| 亚洲人午夜精品射精日韩| 久久少妇诱惑免费视频| 国产一区欧美一区日韩一区| 激情内射日本一区二区三区| 国产精品十八禁亚洲黄污免费观看 | 91欧美亚洲精品在线观看| 亚洲中文字幕乱码亚洲| 中文字幕无线码一区欧美| 大香蕉久草网一区二区三区| 欧美大胆女人的大胆人体| 日本高清视频在线播放| 日本精品中文字幕在线视频| 欧美日韩视频中文字幕| 国产精品日韩精品最新| 青青草草免费在线视频| 欧美国产日韩在线综合| 伊人久久青草地婷婷综合| 国产一级内射麻豆91| 国产色一区二区三区精品视频| 久久精品国产在热亚洲| 国产一区二区三区丝袜不卡 | 国产亚洲精品岁国产微拍精品| 日本久久中文字幕免费|