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

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

在Ubuntu中安裝Docker教程

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

前言

網上已經有很多介紹Docker安裝的文章,自己的安裝過程記錄一下,為了博客文章結構的連貫性,為寫下一篇R和Docker的相遇做為環境基礎,同時也給自己一個備忘。

docker,ubuntu,教程,ubuntu下安裝docker,安裝

目錄

  • Docker是什么?
  • 在Linux Ubuntu中安裝Docker
  • Docker鏡像倉庫
  • 制作自己的Docker鏡像
  • 上傳Docker鏡像到公共倉庫

1. Docker是什么?

在互聯網圈混,如果還不知道Docker你就out了。從2014年開始,docker技術在互聯網技術中異軍突起,2015-2016年很多公司已經對Docker開始大量研究和應用。

Docker是什么?Docker是一個開源的應用容器引擎,系統級的輕量虛擬化技術,為應用程序的自動化部署提供解決方案。

你可以快速創建一個容器,并在容器上開發和運行你們的應用程序,通過配置文件可以輕松實現應用程序的自動化安裝、部署和升級。

Docker的優勢

Docker倍受業界追捧,必然有它非常明顯的優勢和特點。

  • 輕量級資源:容器是在進程級別隔離,并使用宿主機的內核,而不需要虛擬化整個操作系統。不需要虛擬化和系統調用復雜的操作。因此節省了很大的額外開銷。不需要額外的hypervisor(虛擬化技術)支持,不需要虛擬硬件,不需要額外完整的系統。
  • 可移植性:所需要的應用都在容器中,可以在任意一臺docker主機上運行
  • 可預測性:宿主機和容器相互不關心對方都運行什么。只考慮所需的接口標準化

再不動手把Docker用上,你就真的out了。

2. 在Linux Ubuntu中安裝Docker

安裝Docker只需3步,下載Docker, 安裝Docker,檢查Docker是否成功。

Docker目前支持主流的3種操作系統的Linux, Mac, Windows的環境,本文使用的Linux系統環境為:Linux Ubuntu 14.04.4 LTS 64bit。在Ubuntu中下載和安裝Docker可以直接用apt-get搞定。

由于Docker在1.7.1以后的版本指定了自己的源,所以我們需要先在APT中配置Docker的源。

更新APT的源,安裝https和ca證書的庫,默認這2個庫都已經裝了。

~ sudo apt-get update~ sudo apt-get install apt-transport-https ca-certificates

添加秘鑰GPG到APT配置中。

~ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

增加Docker的源到/etc/apt/souces.list文件中,我的版本是14.04對應ubuntu-trusty。

~ sudo vi /etc/apt/sources.list# 增加到最后一行deb https://apt.dockerproject.org/repo ubuntu-trusty main

接下來,就可以用可以用apt-get直接安裝Docker了。

~ sudo apt-get update~ sudo apt-get install docker-engine

安裝完成,默認會啟動Docker。

# 檢查docker服務~ service docker statusdocker start/running, process 10013# 檢查docker進行~ ps -aux|grep dockerroot  10013 0.0 1.0 424948 40584 ?  Ssl 22:29 0:00 /usr/bin/dockerd --raw-logsroot  10022 0.0 0.2 199680 10280 ?  Ssl 22:29 0:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shimdocker-containerd-shim --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --runtime docker-runc# 檢查docker版本~ sudo docker versionClient: Version:  1.12.1 API version: 1.24 Go version: go1.6.3 Git commit: 23cf638 Built:  Thu Aug 18 05:22:43 2016 OS/Arch:  linux/amd64Server: Version:  1.12.1 API version: 1.24 Go version: go1.6.3 Git commit: 23cf638 Built:  Thu Aug 18 05:22:43 2016 OS/Arch:  linux/amd64

檢查Docker是否成功,運行hello-world。如果出現下面的信息,表示Docker引擎安裝成功。

~ sudo docker run hello-world

Unable to find image 'hello-world:latest' locally

latest: Pulling from library/hello-world

c04b14da8d14: Pull complete

Digest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9
Status: Downloaded newer image for hello-world:latest

Hello 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 bash

Share images, automate workflows, and more with a free Docker Hub account:https://hub.docker.com

For more examples and ideas, visit:https://docs.docker.com/engine/userguide/

注意:我們在執行上面的命令的時候,經常會遇到一個錯誤。Cannot connect to the Docker daemon. Is the docker daemon running on this host?

比如,直接輸入 docker run hello-world 命令。

~ docker run hello-world

docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?.
See 'docker run --help'.

這是由于權限的問題,docker默認和root權限綁定,如果不加sudo時則沒有權限。

3. Docker鏡像倉庫

對于上面我們執行的docker run hello-world命令,是什么意思呢?

把3個詞分開來看,docker代表docker程序,run代表命令,hello-world代表鏡像。就是用docker啟動hello-world鏡像。由于我們剛裝好的docker,本地并沒有鏡像,那么run的命令會對docker遠端的倉庫中,找到名叫hello-world的鏡像,然后下載到本地,再運行。

Docker官方的鏡像倉庫訪問地址:https://hub.docker.com/

我們可以在Docker官方的倉庫中,搜索你感興趣的系統、語言、技術框架等,有很多的技術都已經被docker化了。我們就可以很方便地用別人已經做好的容器,站在前人的基礎上繼續工作。

docker,ubuntu,教程,ubuntu下安裝docker,安裝

從列表中點開一項后,會有對這個鏡像的詳細介紹。比如,Ubuntu的鏡像。

docker,ubuntu,教程,ubuntu下安裝docker,安裝

如果我們想要下載這個鏡像,只需要按照他的提示,在命令行輸入 docker pull ubuntu 這樣就行了。

~ sudo docker pull ubuntuUsing default tag: latestlatest: Pulling from library/ubuntu2f0243478e1f: Pull complete d8909ae88469: Pull complete 820f09abed29: Pull complete 01193a8f3d88: Pull complete Digest: sha256:8e2324f2288c26e1393b63e680ee7844202391414dbd48497e9a4fd997cd3cbfStatus: Downloaded newer image for ubuntu:latest

下載好后鏡像,會保存在本地的倉庫中。查看本地的鏡像。

~ sudo docker imagesREPOSITORY   TAG     IMAGE ID   CREATED    SIZEubuntu    latest    f8d79ba03c00  2 weeks ago   126.4 MBhello-world   latest    c54a2cc56cbb  7 weeks ago   1.848 kB

目前,有2個本地鏡像,一個是hello-world,另一個是ubuntu。

4. 制作自己的Docker鏡像

我們也可以制作自己的鏡像,然后上傳到官方的倉庫中,讓更多的人來使用。如果要制作自己的Docker鏡像,你只需要寫一個Dockerfile文件就行了。

下面我們創建一個能進行網絡訪問的Docker,從http://fens.me網站抓取最新8篇的文章列表,并打印到控制臺。

docker,ubuntu,教程,ubuntu下安裝docker,安裝

創建項目目錄

~ mkdir fensme && cd fensme

創建Dockerfile,依賴于上文中下載的ubuntu鏡像,還要需要安裝curl庫用于網頁抓取,同時用于jq庫解析JSON數據。

~ vi DockerfileFROM ubuntu:latestRUN apt-get update && apt-get install -y curl jqCMD curl http://api.fens.me/blogs/ | jq .[]

打包,創建名為fensme的鏡像。

# 打包~ sudo docker build -t fensme .# 查看鏡像列表~ sudo docker imagesREPOSITORY   TAG     IMAGE ID   CREATED    SIZEfensme    latest    41b68972b35a  4 minutes ago  182.8 MBubuntu    latest    f8d79ba03c00  2 weeks ago   126.4 MBhello-world   latest    c54a2cc56cbb  7 weeks ago   1.848 kB

運行fensme的鏡像,這樣就實現了網站數據的抓取。

~ sudo docker run fensme % Total % Received % Xferd Average Speed Time Time  Time Current         Dload Upload Total Spent Left Speed100 1421 100 1421 0  0 715  0 0:00:01 0:00:01 --:--:-- 715{ "title": "R語言解讀自回歸模型", "date": 20160819, "link": "http://blog.fens.me/r-ar/", "img": "http://blog.fens.me/wp-content/uploads/2016/08/r-ar.png"}{ "title": "R語言量化投資常用包總結", "date": 20160810, "link": "http://blog.fens.me/r-quant-packages/", "img": "http://blog.fens.me/wp-content/uploads/2016/08/quant-packages.png"}{ "title": "R語言跨界調用C++", "date": 20160801, "link": "http://blog.fens.me/r-cpp-rcpp", "img": "http://blog.fens.me/wp-content/uploads/2016/08/rcpp.png"}{ "title": "R語言解讀多元線性回歸模型", "date": 20160727, "link": "http://blog.fens.me/r-multi-linear-regression/", "img": "http://blog.fens.me/wp-content/uploads/2016/07/reg-multi-liner.png"}{ "title": "R語言解讀一元線性回歸模型", "date": 20160725, "link": "http://blog.fens.me/r-linear-regression/", "img": "http://blog.fens.me/wp-content/uploads/2016/07/reg-liner.png"}{ "title": "R語言中文分詞包jiebaR", "date": 20160721, "link": "http://blog.fens.me/r-word-jiebar/", "img": "http://blog.fens.me/wp-content/uploads/2016/07/jiebaR.png"}{ "title": "2016天善智能交流會第22場: R語言為量化而生", "date": 20160704, "link": "http://blog.fens.me/meeting-hellobi-20160701/", "img": "http://blog.fens.me/wp-content/uploads/2016/07/meeting-hellobi.png"}{ "title": "R語言為量化而生", "date": 20160703, "link": "http://blog.fens.me/r-finance/", "img": "http://blog.fens.me/wp-content/uploads/2016/07/r-finance.png"}

這個例子,我們通過Docker封裝了一個非常簡單的爬蟲,當你需要的時候啟動它,把結果寫到數據庫中。當執行完任務,系統資源就釋放了,你需要再為它考慮。

比較簡單地就可以把一個技術或一個功能Docker化,從而構建出個性化的Docker。

5. 上傳Docker鏡像到公共倉庫

最后一步,其實就是把我們做好的Docker鏡像上傳到官方的倉庫中,讓其他的人也可以使用。

首先需要去docker hub上面注冊一個賬號,然后登錄進去。

docker,ubuntu,教程,ubuntu下安裝docker,安裝

在docker hub上,創建一個自己的倉庫。

docker,ubuntu,教程,ubuntu下安裝docker,安裝

在本地操作系統,綁定docker hub的賬號

~ sudo docker login --username=bsspirit --email=bsspirit@163.comFlag --email has been deprecated, will be removed in 1.13.Password: Login Succeeded

接下來,要你剛才創建的fensme的鏡像加上命名空間,對應該docker hub上面鏡像名bsspirit/fensme。

# 給fensme增加命名空間~ sudo docker tag 8496b10e857a bsspirit/fensme:latest~ sudo docker imagesREPOSITORY   TAG     IMAGE ID   CREATED    SIZEbsspirit/fensme  latest    8496b10e857a  About a minute ago 182.8 MBfensme    latest    8496b10e857a  15 minutes ago  182.8 MBubuntu    latest    f8d79ba03c00  2 weeks ago   126.4 MBhello-world   latest    c54a2cc56cbb  7 weeks ago   1.848 kB

上傳bsspirit/fensme鏡像,然后你就可以在docker hub的網站上看到你自己的鏡像了。

~ sudo docker push bsspirit/fensmeThe push refers to a repository [docker.io/bsspirit/fensme]d9c50c22842b: Pushed 4699cbd1a947: Pushed 2bed5b3ec49f: Pushed 3834bde7e567: Pushed d8d865b23727: Pushed latest: digest: sha256:bfea736a92b6e602d6bbca867715b0e985f2e9bc3ea4a75b545d7e009e22ac2b size: 1362

打開docker hub網站,刷新頁面。

docker,ubuntu,教程,ubuntu下安裝docker,安裝

最后,如果其他人需要使用這個docker鏡像,像最開始介紹的,直接下載運行就可以了。

~ sudo docker run bsspirit/fensme

通過上面的操作,我們就把Docker在Linux Ubuntu中的系統安裝完成。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91亚洲国产成人精品性色| 91嫩草在线视频| 久久精品久久精品亚洲人| 精品久久久久久久大神国产| 久久免费少妇高潮久久精品99| 国产日韩av在线| 91九色在线视频| 国产成人精品午夜| 亚洲免费电影一区| 国产亚洲一级高清| 黑人狂躁日本妞一区二区三区| 一本色道久久综合狠狠躁篇的优点| 国产精品爽爽ⅴa在线观看| 欧美国产视频日韩| 久久久国产视频| 久久视频在线播放| 亚洲第一天堂无码专区| 97高清免费视频| 国产在线观看不卡| 欧美午夜无遮挡| 成人羞羞国产免费| 中文字幕日韩av综合精品| 久久精品电影网站| 亚洲日本欧美中文幕| 欧美日本亚洲视频| 国产欧美韩国高清| 亚洲视频日韩精品| 欧美贵妇videos办公室| 第一福利永久视频精品| 中文在线资源观看视频网站免费不卡| 成人网欧美在线视频| 日韩av片电影专区| 欧美大片免费观看在线观看网站推荐| 欧美日韩国产精品一区二区三区四区| 欧美另类极品videosbestfree| 国内外成人免费激情在线视频网站| 日韩精品在线视频| 成人免费激情视频| 欧美日韩亚洲一区二区三区| 国产成人精品在线| 欧美激情精品久久久久久| 欧美日韩在线第一页| 欧美激情手机在线视频| 激情懂色av一区av二区av| 日韩免费在线观看视频| 欧美日韩国产91| 亚洲aⅴ日韩av电影在线观看| 性色av一区二区咪爱| 国产在线观看一区二区三区| 亚洲va久久久噜噜噜久久天堂| 亚洲人成欧美中文字幕| 久久久久久久999精品视频| 成人国产精品久久久久久亚洲| 亚洲精品永久免费精品| 日本在线观看天堂男亚洲| 国产精品成人一区| 夜夜嗨av色一区二区不卡| 中文字幕日韩综合av| 久久久视频在线| 综合国产在线观看| 国产精品欧美激情| 国产精品jizz在线观看麻豆| 亚洲无线码在线一区观看| 亚洲精品第一页| 欧美激情一级精品国产| 91久热免费在线视频| 91美女片黄在线观看游戏| 亚洲直播在线一区| 在线视频中文亚洲| 91性高湖久久久久久久久_久久99| 一二美女精品欧洲| 精品国产一区二区三区四区在线观看| 亚洲精品成人久久电影| 精品国产老师黑色丝袜高跟鞋| 国产精品亚发布| 日韩精品中文字幕视频在线| 国产精品激情av电影在线观看| 欧美精品日韩三级| 中文字幕亚洲欧美在线| 日韩男女性生活视频| 欧美在线视频观看免费网站| 亚洲欧美在线一区二区| 欧美激情一区二区三区高清视频| 亚洲国产精久久久久久| 最近2019中文字幕第三页视频| 中文字幕九色91在线| 亚洲自拍偷拍色图| 国产精品女人网站| 久久99精品视频一区97| 欧美专区在线播放| 91久久久久久久久久久久久| 97精品国产97久久久久久春色| 国产在线观看一区二区三区| 欧美日韩黄色大片| 在线国产精品播放| 欧美一级在线亚洲天堂| 精品高清美女精品国产区| 亚洲欧美日韩爽爽影院| 北条麻妃一区二区在线观看| 久久国产天堂福利天堂| 亚洲美女视频网站| 国产精品第一区| 韩国日本不卡在线| 性亚洲最疯狂xxxx高清| 午夜精品久久久久久久99黑人| 2020国产精品视频| 欧美激情按摩在线| 欧美老女人性视频| 日韩一区二区三区国产| 奇门遁甲1982国语版免费观看高清| 久久中国妇女中文字幕| 欧美大尺度激情区在线播放| 中文字幕精品在线视频| 人人爽久久涩噜噜噜网站| 91沈先生在线观看| 亚洲美女精品久久| 2019最新中文字幕| 久99久在线视频| 亚洲国产精彩中文乱码av在线播放| 久久这里有精品视频| 精品日本美女福利在线观看| 亚洲丁香久久久| 久久视频在线免费观看| 亚洲免费视频一区二区| 97久久精品人人澡人人爽缅北| 日韩av日韩在线观看| 亚洲国产欧美一区二区三区同亚洲| 色偷偷av一区二区三区| 欧美黑人一级爽快片淫片高清| 粉嫩av一区二区三区免费野| 欧美中在线观看| 久久69精品久久久久久国产越南| 色青青草原桃花久久综合| 57pao国产成人免费| 亚洲精品国产精品乱码不99按摩| 两个人的视频www国产精品| 日韩成人中文字幕在线观看| 日韩精品日韩在线观看| 欧美日韩激情小视频| 欧美性猛交xxxx黑人| 成人激情综合网| 日韩a**中文字幕| 成人高清视频观看www| 欧美一级成年大片在线观看| 亚洲欧美制服另类日韩| 精品国产乱码久久久久久天美| 国内免费精品永久在线视频| 免费成人高清视频| 国产精品嫩草影院一区二区| 精品久久久中文| 亚洲天堂成人在线视频| 97精品视频在线播放| 7777免费精品视频| 日韩免费在线电影| 日韩中文字幕免费视频| 97久久精品人搡人人玩| 欧美成人免费视频| 日韩天堂在线视频| 国产综合在线看| 亚洲欧美日韩国产中文| 高清欧美性猛交xxxx黑人猛交| 中文字幕日韩在线视频| 日韩在线观看免费全集电视剧网站| 日韩精品视频在线观看免费|