溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Docker中怎么設(shè)置數(shù)據(jù)科學(xué)環(huán)境

發(fā)布時間:2021-07-23 11:19:37 來源:億速云 閱讀:267 作者:Leah 欄目:web開發(fā)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)Docker中怎么設(shè)置數(shù)據(jù)科學(xué)環(huán)境,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。


什么是Docker?為什么要嘗試一下?

Docker是在指定環(huán)境(稱為容器)中創(chuàng)建,部署和運(yùn)行所需應(yīng)用程序的最簡單,最靈活的方法之一。 當(dāng)然,你問自己什么是容器?

非技術(shù)性的解釋:就像上圖所示,在我們的情況下,您的本地機(jī)器是一個已經(jīng)在生產(chǎn)東西的島。  為了改善這一點(diǎn),您需要其他工具,這些工具(就像Docker徽標(biāo)一樣)裝在小容器中。 一旦設(shè)置好并運(yùn)行它們,它們就可以使用了。

技術(shù)說明:容器是打包代碼及其所有依賴項的軟件的標(biāo)準(zhǔn)單元,因此應(yīng)用程序可以從一個計算環(huán)境快速運(yùn)行到另一個計算環(huán)境。  Docker容器映像是一個輕量級的,獨(dú)立的,可執(zhí)行的軟件軟件包,其中包含運(yùn)行應(yīng)用程序所需的一切:代碼,運(yùn)行時,系統(tǒng)工具,系統(tǒng)庫和設(shè)置。 其他重要術(shù)語:

  • 圖片:只是容器的快照。

  • Dockerfile:這是一個Yaml文件,用于構(gòu)建您的映像。 在本課程的最后,您將擁有一個yaml文件模板,并將其用于您自己的容器規(guī)范。

  • DockerHub:在這里您可以推拉Docker映像并將其用于您自己的需求。 基本上,GitHub僅用于Docker。

為什么要使用Docker?

Docker中怎么設(shè)置數(shù)據(jù)科學(xué)環(huán)境

讓我向您概述我喜歡使用Docker的主要原因:

  • 對于您作為數(shù)據(jù)科學(xué)家或數(shù)據(jù)分析師而言,泊塢窗意味著您可以專注于探索,轉(zhuǎn)換和建模數(shù)據(jù),而無需首先考慮您的數(shù)據(jù)環(huán)境所運(yùn)行的系統(tǒng)。  通過使用準(zhǔn)備在Docker容器中運(yùn)行的數(shù)千種應(yīng)用程序之一,您不必?fù)?dān)心分別安裝和連接它們。 Docker允許您在需要時在幾秒鐘內(nèi)部署所選的工作環(huán)境。

  • 假設(shè)您不是項目中唯一的工作人員,但是您的團(tuán)隊成員也需要掌握代碼。  現(xiàn)在,一個選擇是,每個隊友都可以在具有不同體系結(jié)構(gòu),不同庫和不同版本應(yīng)用程序的環(huán)境中運(yùn)行代碼。  docker選項是每個成員都可以訪問相同的容器映像,并使用docker啟動該映像并準(zhǔn)備就緒。  Docker為團(tuán)隊中的每個人提供了可重復(fù)的數(shù)據(jù)環(huán)境,因此您可以立即開始進(jìn)行協(xié)作。

Docker當(dāng)然還有其他幾個好處,特別是如果您使用的是Enterprise版本。 絕對值得探索,不僅會使您作為數(shù)據(jù)科學(xué)家受益。

安裝和運(yùn)行Docker

您可以立即安裝Docker桌面,這是您入門所需的內(nèi)容:在此處訪問Docker Hub,為Mac或Windows選擇Docker版本并進(jìn)行安裝。  在您的本地機(jī)器上啟動Docker之后,您就可以在頂部導(dǎo)航欄上看到這只可愛的小鯨魚-做得很好。

Docker中怎么設(shè)置數(shù)據(jù)科學(xué)環(huán)境

通過單擊Docker徽標(biāo),您可以查看Docker是否正在運(yùn)行。 另一種選擇是打開命令行并輸入" docker info",以便您看到正在運(yùn)行的內(nèi)容。  以下是一些基本的Docker命令:

  • docker login#登錄Docker注冊表

  • docker run#創(chuàng)建一個新容器并啟動

  • docker start #啟動一個現(xiàn)有的容器

  • docker stop

    #停止一個正在運(yùn)行的容器
  • docker ps [-a] #顯示所有容器

  • docker rm

    #按名稱或ID刪除容器
  • docker rmi $(docker images -q)#刪除所有鏡像

您可以從一個簡單的示例開始,嘗試使用Jupyter筆記本。 您要做的就是在Docker Hub中查找映像,打開終端并運(yùn)行docker。  在下面的示例中,您可以找到在localhost:8888上運(yùn)行的Jupyter —簡單!

docker run -p 8888:8888 jupyter/scipy-notebook:2c80cf3537ca

Docker中怎么設(shè)置數(shù)據(jù)科學(xué)環(huán)境

雖然我們現(xiàn)在可以在容器中試用我們的應(yīng)用程序,但它并不是高級數(shù)據(jù)科學(xué)家正在尋找的完整數(shù)據(jù)環(huán)境。  您可能想要使用更高級的工具,例如Nifi進(jìn)行數(shù)據(jù)攝取和處理,Kafka進(jìn)行數(shù)據(jù)流傳輸,以及使用SQL或NonSQL數(shù)據(jù)庫在兩者之間存儲一些表。  我們還能使用Docker嗎? 答案:是的,當(dāng)然可以-Docker在這里為您管理所有工作。

Docker Compose:將它們組合在一起

Docker中怎么設(shè)置數(shù)據(jù)科學(xué)環(huán)境

要設(shè)置所需的數(shù)據(jù)環(huán)境,您可能希望在我們的本地計算機(jī)上運(yùn)行多個容器。 這就是為什么我們使用Docker Compose。  Compose是用于定義和運(yùn)行多容器Docker應(yīng)用程序的工具。 雖然單獨(dú)連接每個容器可能很耗時,但docker  compose允許多個容器的集合以非常直接的方式通過其自己的網(wǎng)絡(luò)進(jìn)行交互。  使用compose時,您首先使用yaml文件配置應(yīng)用程序的服務(wù),然后使用單個命令(docker compose up)來創(chuàng)建并啟動先前定義的所有服務(wù)。*

在下面的內(nèi)容中,您可以找到入門的主要步驟:

  • 使用Dockerfile定義您的應(yīng)用環(huán)境,以便輕松復(fù)制

  • 在docker-compose.yml中指定構(gòu)成數(shù)據(jù)環(huán)境的所有服務(wù)

  • 在保存yaml文件的文件夾中打開終端,然后運(yùn)行docker-compose up

docker-compose.yml可能類似于以下內(nèi)容。 并且盡管您可以肯定使用以下內(nèi)容作為模板,但絕對應(yīng)該為自己配置一次:

version: '3' services:   zookeeper:     hostname: zookeeper     container_name: zookeeper_dataenv     image: 'bitnami/zookeeper:latest'     environment:       - ALLOW_ANONYMOUS_LOGIN=yes   nifi:     image: mkobit/nifi     container_name: nifi_dataenv     ports:       - 8080:8080       - 8081:8081     environment:       - NIFI_WEB_HTTP_PORT=8080       - NIFI_ZK_CONNECT_STRING=zookeeper:2181   minimal-jupyter-notebook:     image: jupyter/minimal-notebook:latest     ports:       - 8888:8888   mongodb:     image: mongo:latest     container_name: mongodb_dataenv     environment:       - MONGO_DATA_DIR=/data/db       - MONGO_LOG_DIR=/dev/null     ports:         - 27017:27017   grafana:     image: bitnami/grafana:latest     container_name: grafana_dataenv     ports:       - 3000:3000   db:     image: 'postgres:9.6.3-alpine'     container_name: psql_dataenv     ports:       - 5432:5432     environment:       POSTGRES_DB: psql_data_environment       POSTGRES_USER: psql_user       POSTGRES_PASSWORD: psql       PGDATA: /opt/psql_data     restart: "no"

上述就是小編為大家分享的Docker中怎么設(shè)置數(shù)據(jù)科學(xué)環(huán)境了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI