亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

Docker快速入門以及環境配置詳解

2024-09-01 13:48:17
字體:
來源:轉載
供稿:網友

前言

數據科學開發環境配置起來讓人頭疼,會碰到包版本不一致、錯誤信息不熟悉和編譯時間漫長等問題。這很容易讓人垂頭喪氣,也使得邁入數據科學的這第一步十分艱難。而且這也是一個完全不常見的準入門檻。

還好,過去幾年中出現了能夠通過搭建孤立的環境來解決這個問題的技術。本文中我們就要介紹的這種技術名叫Docker。Docker能讓開發者簡單、快速地搭建數據科學開發環境,并支持使用例如Jupyter notebooks等工具進行數據探索。

簡介

Docker 最初 dotCloud 公司內部的一個業余項目

Docker 基于 Go 語言

Docker 項目的目標是實現輕量級的操作系統虛擬化解決方案

Docker 的基礎是 Linux 容器(LXC)等技術

Docker 容器的啟動可以在秒級實現,這相比傳統的虛擬機方式要快得多

Docker 對系統資源的利用率很高,一臺主機上可以同時運行數千個 Docker 容器

下面的圖片比較了 Docker 和傳統虛擬化方式的不同之處,可見容器是在操作系統層面上實現虛擬化,直接復用本地主機的操作系統,而傳統方式則是在硬件層面實現。

 docker快速入門,docker,配置開發環境,docker入門實戰

 docker快速入門,docker,配置開發環境,docker入門實戰

容器除了運行其中應用外,基本不消耗額外的系統資源,使得應用的性能很高,同時系統的開銷盡量小。傳統虛擬機方式運行 10 個不同的應用就要起 10 個虛擬機,而Docker 只需要啟動 10 個隔離的應用即可。

主要優勢為:

     更快速的交付和部署 - 容器成為了最小單位

     更高效的虛擬化 - 內核級虛擬化

     更輕松的遷移和拓展

     更簡單的管理

基本概念

主要是三個:

鏡像(Image)

     一個只讀的模板,鏡像可以用來創建 Docker 容器

    可以簡單創建或更新現有鏡像,或者直接下載使用其他人的

容器(Container)

    容器是從鏡像創建的運行實例,在啟動的時候創建一層可寫層作為最上層(因為鏡像是只讀的)

    可以被啟動、開始、停止、刪除。每個容器都是相互隔離的、保證安全的平臺

    可以把容器看做是一個簡易版的 Linux 環境(包括root用戶權限、進程空間、用戶空間和網絡空間等)和運行在其中的應用程序

倉庫(Repository)

    集中存放鏡像文件的場所

    最大的公開倉庫是 Docker Hub

    國內的公開倉庫包括 Docker Pool 等

    當用戶創建了自己的鏡像之后就可以使用 push 命令將它上傳到公有或者私有倉庫,這樣下次在另外一臺機器上使用這個鏡像時候,只需要從倉庫上 pull 下來就可以了

    Docker 倉庫的概念跟 Git 類似,注冊服務器可以理解為 GitHub 這樣的托管服務

安裝

官方網站提供了 Mac, Linux 和 Windows 版本的安裝教程。因為我打算使用虛擬機進行安裝測試,所以這里主要走 Linux 的安裝教程,不過其他的應該大同小異。我的 ubuntu 版本是 14.04 LTS, trusty

Docker 目前只能安裝在 64 位平臺上,并且要求內核版本不低于 3.10,實際上內核越新越好,過低的內核版本容易造成功能的不穩定??梢酝ㄟ^下面的命令來檢查內核版本(兩個方式,都可以):

parallels@ubuntu:~$ uname -aLinux ubuntu 3.13.0-83-generic #127-Ubuntu SMP Fri Mar 11 00:25:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
parallels@ubuntu:~$ cat /proc/versionLinux version 3.13.0-83-generic (buildd@lgw01-55) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #127-Ubuntu SMP Fri Mar 11 00:25:37 UTC 2016

這里我們按照官網的教程,不使用 apt-get 而是使用 curl 來進行安裝。

     1、如果沒有安裝 curl,使用 sudo apt-get update; sudo apt-get install curl 來進行安裝

      2、下載最新的 Docker 包 curl -fsSL https://get.docker.com/ | sh

      如果想要以 non-root 用戶的角色來使用,請使用 sudo usermod -aG docker parallels(這里 parallels 是用戶名),注意需要注銷并重新登錄以應用改動

     3、驗證安裝

           需要先啟用 docker sudo service docker start

           然后可以用 docker version 來查看版本

          最后使用 docker run hello-world 來測試

版本信息

parallels@ubuntu:~$ docker versionClient: Version:  1.10.3 API version: 1.22 Go version: go1.5.3 Git commit: 20f81dd Built:  Thu Mar 10 15:54:52 2016 OS/Arch:  linux/amd64Server: Version:  1.10.3 API version: 1.22 Go version: go1.5.3 Git commit: 20f81dd Built:  Thu Mar 10 15:54:52 2016 OS/Arch:  linux/amd64

成功運行 hello world 的結果

parallels@ubuntu:~$ docker run hello-worldHello from Docker.This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bashShare images, automate workflows, and more with a free Docker Hub account: https://hub.docker.comFor more examples and ideas, visit: https://docs.docker.com/userguide/

這之后的部分是課程需求。

我們需要安裝 docker machine virtual box,具體步驟為:

# 獲取權限$ sudo su# 下載 Docker Machine 的二進制文件 $ curl -L https://github.com/docker/machine/releases/download/v0.6.0/docker-machine-`uname -s`-`uname -m` > /usr/local/bin/docker-machine && chmod +x /usr/local/bin/docker-machine# 驗證安裝$ docker-machine versiondocker-machine version 0.6.0, build e27fb87

添加源

把這行添加到 /etc/apt/sources.list 文件中 deb http://download.virtualbox.org/virtualbox/debian trusty contrib

       wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

更新并安裝 sudo apt-get update; sudo apt-get install virtualbox-5.0

配置

然后是一些配置,先重設默認的虛擬機

      刪除原來的默認(如果有的話)docker-machine rm default

      創建新的默認虛擬機 docker-machine create --driver virtualbox default(這一步可能需要等一下,我用的是 Parallel Desktop 11,還需要在虛擬機設置中開啟 CPU 虛擬化,主要是支持 vt-x)

然后如果直接在菜單中選擇 Virtual Box 的話,就會發現什么都沒有,技巧是要在剛才的命令行中輸入 virtualbox,然后就可以看到下面的界面:

docker快速入門,docker,配置開發環境,docker入門實戰

在 Settings - Network 中選擇 Port Forwarding,然后按照如圖所示添加記錄

 docker快速入門,docker,配置開發環境,docker入門實戰

這里的 Host Port: 9234 記為 A,Guest Port: 9001 記為 B。然后就可以啟動 docker 中老師提供的鏡像了:

命令為 docker run -it -p 9001:9000 cmusvsc/apachecmda:1.1(需要下載一段時間,然后再解壓一段時間),這里 9001 記為 C,9000 記為 D。

接著就會直接連接到 docker 中的虛擬機,從之后的圖中可以看到命令行前面的內容也變化了。然后我們輸入命令開啟前端

cd /home/Spring2016/ApacheCMDA-Frontend./activator run # 相當于在 9000 端口開啟

docker快速入門,docker,配置開發環境,docker入門實戰

不要關現在的終端,開啟一個新的終端。用

docker exec -it `docker ps -q` /bin/bash

進入正在執行的 docker

等待一段時間后,繼續走以下命令

# 開啟 MySQL 服務器service mysql startcd /home/Spring2016/ApacheCMDA-Backend./activator "run 9034"

然后可以見到

docker快速入門,docker,配置開發環境,docker入門實戰

然后等待一段時間(第一運行需要編譯),就可以見到主頁面了:

也可以嘗試直接 localhost:9001

docker快速入門,docker,配置開發環境,docker入門實戰

還記得前面的端口轉發嗎?這里解釋一下:

     A,也就是 9234,是用戶訪問的端口號

     B,也就是 9001,我們通過虛擬機的端口轉發從 9234 轉到了 9001

     C,也就是 9001(這個命令中的 docker run -it -p 9001:9000 cmusvsc/apachecmda:1.1),是虛擬機繼續轉發的端口

     D,也就是 9000(這個命令中的 docker run -it -p 9001:9000 cmusvsc/apachecmda:1.1),是 Docker 容器中接收請求的端口。

也就是說,B 和 C 一定要一樣,A 和 D 可以在命令中設置。至于為什么后端需要運行在 9034 端口,是因為前端和后端通過這個端口通訊(應該是寫死在代碼里的)

掛載主機數據卷到容器內,可以通過如下命令進行文件夾映射

docker run -it -p 9999:9999 -p 9001:9000 -v ~/localFolder:/sharedFolder cmusvsc/apachecmda:1.1

從容器內拷貝文件到主機上

# 列出 containerdocker ps# 復制 這個不知道為啥不行docker cp <containerId>:/file/path/within/container /host/path/target# 掛載映射docker run -it -v /home/parallels/Documents/code:/home/code cmusvsc/apachecmda:1.1# 復制cp -r Spring2016/* ./code/

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家能有所幫助,如果有疑問大家可以留言交流。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美裸体xxxx极品少妇| 久久欧美在线电影| 97**国产露脸精品国产| 色噜噜国产精品视频一区二区| 欧美综合第一页| 国内精品中文字幕| 国产精品成人免费视频| 国产精品久久国产精品99gif| 日韩欧美在线国产| 国产精品久久久999| 亚洲春色另类小说| 欧美激情第三页| 欧美精品激情在线观看| 中文综合在线观看| 欧美激情视频网| yw.139尤物在线精品视频| 欧美精品videos另类日本| 色偷偷av一区二区三区| 欧美日韩亚洲一区二区三区| 欧美精品video| 精品亚洲国产成av人片传媒| 亚洲奶大毛多的老太婆| 欧美重口另类videos人妖| 高清亚洲成在人网站天堂| 亚洲色图18p| 精品久久久久久久久久| 蜜臀久久99精品久久久久久宅男| 国产91精品在线播放| 欧美日韩国产一中文字不卡| 日韩电视剧在线观看免费网站| 欧美噜噜久久久xxx| 自拍视频国产精品| 亚洲成人在线视频播放| 久久免费福利视频| 欧美人与性动交a欧美精品| 欧美一区视频在线| 亚洲在线视频福利| 亚洲精品aⅴ中文字幕乱码| 欧美激情日韩图片| 国产婷婷97碰碰久久人人蜜臀| 久久久国产视频91| 国产精品视频永久免费播放| 亚洲香蕉伊综合在人在线视看| 国内精久久久久久久久久人| 欧美在线影院在线视频| 在线观看欧美www| 美女性感视频久久久| 午夜精品久久久久久99热软件| 2023亚洲男人天堂| 国产精品福利网| 欧美成人网在线| 国产欧美一区二区三区久久人妖| 亚洲老司机av| 黑丝美女久久久| 亚洲毛茸茸少妇高潮呻吟| 国产精品久久久久久久久久久久久| 亚洲精品天天看| 日韩欧美在线国产| 亚洲视频综合网| 亚洲性视频网站| 精品国产电影一区| 成人高清视频观看www| 日韩av电影中文字幕| 国产自产女人91一区在线观看| 国产精品色午夜在线观看| 青草热久免费精品视频| 日韩免费电影在线观看| 国产精品亚洲自拍| 在线精品国产欧美| 亚洲va码欧洲m码| 亚洲成人激情在线| zzjj国产精品一区二区| 国产精品黄页免费高清在线观看| 91中文字幕在线| 色妞在线综合亚洲欧美| 揄拍成人国产精品视频| 欧美激情在线观看视频| 都市激情亚洲色图| 欧美大肥婆大肥bbbbb| 日韩中文字幕在线看| 亚洲高清久久网| 热99在线视频| 精品国产区一区二区三区在线观看| 色99之美女主播在线视频| 国产精品一区av| 91免费观看网站| 精品视频在线播放色网色视频| 亚洲第一福利在线观看| 中文字幕在线观看日韩| 国产va免费精品高清在线观看| 成人在线视频网| 国产精品美女久久久久久免费| 日韩视频免费大全中文字幕| 成人天堂噜噜噜| 日韩免费av片在线观看| 久久国产精品久久精品| 色yeye香蕉凹凸一区二区av| 日韩av在线网站| 国产精品免费福利| 国产精品久久久久久久久免费看| 成人综合网网址| 欧美日韩精品国产| 欧美视频在线观看免费| 成人在线中文字幕| 2019av中文字幕| 国产网站欧美日韩免费精品在线观看| 国产精品中文久久久久久久| 精品香蕉在线观看视频一| 久久久精品网站| 91久久久久久久久| 国产婷婷97碰碰久久人人蜜臀| 国产精品一久久香蕉国产线看观看| 欧美性猛交xxxx乱大交极品| 中文字幕亚洲情99在线| 欧美猛交免费看| 欧美亚洲国产另类| 成人美女免费网站视频| 97人人爽人人喊人人模波多| 亚洲视频第一页| 亚洲一区av在线播放| 亚洲午夜精品久久久久久久久久久久| 91亚洲永久免费精品| 欧美成人亚洲成人日韩成人| 色在人av网站天堂精品| 成人av在线天堂| 色婷婷av一区二区三区久久| 最近2019年日本中文免费字幕| 精品女同一区二区三区在线播放| 日韩欧美在线视频观看| 国产精品爱久久久久久久| 国产在线拍偷自揄拍精品| 欧美午夜美女看片| 成人免费淫片视频软件| 俺也去精品视频在线观看| 国产精品久久久久久久av电影| 人人做人人澡人人爽欧美| 久久久久久国产精品三级玉女聊斋| 久久久久五月天| 日韩av片免费在线观看| 国产精品国产福利国产秒拍| 国产精品青草久久久久福利99| 欧洲成人免费aa| 97久久伊人激情网| 久久免费成人精品视频| 中文字幕免费精品一区高清| 亚洲精品动漫100p| 欧美另类极品videosbestfree| 欧美xxxwww| 国产在线视频不卡| 91sao在线观看国产| 久久精品国产2020观看福利| 国产精品高潮在线| www.日本久久久久com.| 日韩av网站大全| 亚洲视频自拍偷拍| 色无极亚洲影院| 91精品视频免费看| 精品少妇一区二区30p| 欧美激情2020午夜免费观看| 亚洲久久久久久久久久| 亚洲第一视频网| 国产成人av网| 成人激情免费在线| 欧美孕妇毛茸茸xxxx|