自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

動手實(shí)踐:使用Docker設(shè)置數(shù)據(jù)科學(xué)環(huán)境

開發(fā) 前端
每當(dāng)您開始一個(gè)新的數(shù)據(jù)項(xiàng)目或有一個(gè)很好的數(shù)據(jù)處理想法時(shí),可能都需要初步的概念證明來啟動。 您當(dāng)然不想要,并且可能甚至沒有時(shí)間花時(shí)間來建立全新的數(shù)據(jù)環(huán)境,而無需了解數(shù)據(jù)本身。 在下一篇文章中,您將學(xué)習(xí)Docker如何在不浪費(fèi)時(shí)間一遍又一遍的情況下幫助您設(shè)置可復(fù)制的數(shù)據(jù)環(huán)境。

 每當(dāng)您開始一個(gè)新的數(shù)據(jù)項(xiàng)目或有一個(gè)很好的數(shù)據(jù)處理想法時(shí),可能都需要初步的概念證明來啟動。 您當(dāng)然不想要,并且可能甚至沒有時(shí)間花時(shí)間來建立全新的數(shù)據(jù)環(huán)境,而無需了解數(shù)據(jù)本身。 在下一篇文章中,您將學(xué)習(xí)Docker如何在不浪費(fèi)時(shí)間一遍又一遍的情況下幫助您設(shè)置可復(fù)制的數(shù)據(jù)環(huán)境。

 

動手實(shí)踐:使用Docker設(shè)置數(shù)據(jù)科學(xué)環(huán)境

 

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

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

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

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

  • 圖片:只是容器的快照。
  • Dockerfile:這是一個(gè)Yaml文件,用于構(gòu)建您的映像。 在本課程的最后,您將擁有一個(gè)yaml文件模板,并將其用于您自己的容器規(guī)范。
  • DockerHub:在這里您可以推拉Docker映像并將其用于您自己的需求。 基本上,GitHub僅用于Docker。

為什么要使用Docker?

 

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

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

安裝和運(yùn)行Docker

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

 

動手實(shí)踐:使用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)建一個(gè)新容器并啟動
  • docker start #啟動一個(gè)現(xiàn)有的容器
  • docker stop #停止一個(gè)正在運(yùn)行的容器
  • docker ps [-a] #顯示所有容器
  • docker rm #按名稱或ID刪除容器
  • docker rmi $(docker images -q)#刪除所有鏡像

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

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

 

動手實(shí)踐:使用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:將它們組合在一起

 

動手實(shí)踐:使用Docker設(shè)置數(shù)據(jù)科學(xué)環(huán)境

 

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

 

  1. version: '3' 
  2. services: 
  3.   zookeeper: 
  4.     hostname: zookeeper 
  5.     container_name: zookeeper_dataenv 
  6.     image: 'bitnami/zookeeper:latest' 
  7.     environment: 
  8.       - ALLOW_ANONYMOUS_LOGIN=yes 
  9.   nifi: 
  10.     image: mkobit/nifi 
  11.     container_name: nifi_dataenv 
  12.     ports: 
  13.       - 8080:8080 
  14.       - 8081:8081 
  15.     environment: 
  16.       - NIFI_WEB_HTTP_PORT=8080 
  17.       - NIFI_ZK_CONNECT_STRING=zookeeper:2181 
  18.   minimal-jupyter-notebook: 
  19.     image: jupyter/minimal-notebook:latest 
  20.     ports: 
  21.       - 8888:8888 
  22.   mongodb: 
  23.     image: mongo:latest 
  24.     container_name: mongodb_dataenv 
  25.     environment: 
  26.       - MONGO_DATA_DIR=/data/db 
  27.       - MONGO_LOG_DIR=/dev/null 
  28.     ports: 
  29.         - 27017:27017 
  30.   grafana: 
  31.     image: bitnami/grafana:latest 
  32.     container_name: grafana_dataenv 
  33.     ports: 
  34.       - 3000:3000 
  35.   db: 
  36.     image: 'postgres:9.6.3-alpine' 
  37.     container_name: psql_dataenv 
  38.     ports: 
  39.       - 5432:5432 
  40.     environment: 
  41.       POSTGRES_DB: psql_data_environment 
  42.       POSTGRES_USER: psql_user 
  43.       POSTGRES_PASSWORD: psql 
  44.       PGDATA: /opt/psql_data 
  45.     restart: "no" 

而已! 您剛剛了解了如何在幾秒鐘內(nèi)隨時(shí)隨地部署自己的數(shù)據(jù)環(huán)境的基礎(chǔ)知識,這意味著浪費(fèi)更少的時(shí)間進(jìn)行設(shè)置,而將更多的時(shí)間用于生產(chǎn)。

請注意,還有許多其他容器軟件選項(xiàng)。 我只是喜歡與Docker合作,并想與您分享我的經(jīng)驗(yàn)

責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2020-11-10 13:40:01

Python數(shù)據(jù)科學(xué)環(huán)境

2020-05-20 13:53:41

HTTP環(huán)境安裝

2020-10-22 09:09:41

Python數(shù)據(jù)科學(xué)代碼

2012-09-24 11:45:28

IBMdw

2015-10-08 14:03:01

TCP網(wǎng)絡(luò)協(xié)議

2019-07-08 15:38:56

FedoraJupyter數(shù)據(jù)科學(xué)家

2014-08-07 10:25:15

DockerPython

2020-08-11 07:00:00

大數(shù)據(jù)IT技術(shù)

2022-11-02 14:45:24

Python數(shù)據(jù)分析工具

2021-05-10 11:33:11

數(shù)字化

2019-03-26 09:18:54

數(shù)據(jù)科學(xué)數(shù)據(jù)數(shù)據(jù)分析

2023-03-20 15:07:00

數(shù)據(jù)科學(xué)家質(zhì)量保證

2016-09-08 16:04:59

JavaDocker前端

2010-01-08 13:15:07

ibmdwSOA

2010-03-05 16:20:38

Ubuntu中文環(huán)境

2019-11-11 14:09:17

Swift數(shù)據(jù)科學(xué)語言

2019-10-22 08:00:22

數(shù)據(jù)科學(xué)AWSDC

2010-08-31 11:30:26

vSphere服務(wù)器虛擬化VMware

2011-12-13 14:30:24

IBM

2015-07-30 10:05:37

Java9JShell
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號