摘要:如果使用操作系統(tǒng)自帶包安裝,目前安裝的版本是比較舊的。之前版本如果是較低版本的系統(tǒng),需要先更新內(nèi)核。然后重復(fù)上面的步驟即可。
Quick Start Installation Ubuntu
通過(guò)系統(tǒng)自帶包安裝
Ubuntu 14.04 版本系統(tǒng)中已經(jīng)自帶了 Docker 包,可以直接安裝。
$ sudo apt-get update $ sudo apt-get install -y docker.io $ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker $ sudo sed -i "$acomplete -F _docker docker" /etc/bash_completion.d/docker.io
如果使用操作系統(tǒng)自帶包安裝 Docker,目前安裝的版本是比較舊的 0.9.1。 要安裝更新的版本,可以通過(guò)使用 Docker 源的方式。
通過(guò)Docker源安裝最新版本
要安裝最新的 Docker 版本,首先需要安裝 apt-transport-https 支持,之后通過(guò)添加源來(lái)安裝。
$ sudo apt-get install apt-transport-https $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 $ sudo bash -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list" $ sudo apt-get update $ sudo apt-get install lxc-docker
14.04 之前版本
如果是較低版本的 Ubuntu 系統(tǒng),需要先更新內(nèi)核。
$ sudo apt-get update $ sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring $ sudo reboot
然后重復(fù)上面的步驟即可。
安裝之后啟動(dòng) Docker 服務(wù)。
$ sudo service docker startCentOS
Docker 支持 CentOS6 及以后的版本。
CentOS6
對(duì)于 CentOS6,可以使用?EPEL?庫(kù)安裝 Docker,命令如下
$ sudo yum install http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm $ sudo yum install docker-io
CentOS7
CentOS7 系統(tǒng)?CentOS-Extras?庫(kù)中已帶 Docker,可以直接安裝:
$ sudo yum install docker
安裝之后啟動(dòng) Docker 服務(wù),并讓它隨系統(tǒng)啟動(dòng)自動(dòng)加載。
$ sudo service docker start $ sudo chkconfig docker onDocker Toolbox(Mac & Windows)
docker-toolbox
早期在Windows或者M(jìn)AC環(huán)境下使用Docker主要利用的是Boot2Docker這個(gè)命令行工具,而Toolbox可以安裝你在開(kāi)發(fā)中運(yùn)行Docker時(shí)所需要的一切:Docker客戶端、Compose(僅Mac需要)、Kitematic、Machine以及VirtualBox。Toolbox使用Machine和VirtualBox在虛擬機(jī)中創(chuàng)建了一個(gè)引擎來(lái)運(yùn)行容器。在該虛擬機(jī)上,你可以使用Docker客戶端、Compose以及Kitematic來(lái)運(yùn)行容器。而Toolbox本身已經(jīng)可以取代了Boot2Docker的作用。
Docker的Toolbox主要集成了如下幾個(gè)不同的工具的集合:
Docker Client?docker?binary
Docker Machine?docker-machine?binary
Docker Compose?docker-compose?binary
Kitematic – Desktop GUI for Docker
Docker Quickstart Terminal app
以Mac系統(tǒng)為例,使用Docker Toolbox安裝Docker環(huán)境與Linux系統(tǒng)的區(qū)別在于,在標(biāo)準(zhǔn)的Linux系統(tǒng)上的安裝中,Docker客戶端、Docker守護(hù)進(jìn)程以及所有的容器都是直接運(yùn)行在本地的:
而在OS X或者Windows系統(tǒng)的安裝中,Docker的相關(guān)的程序是運(yùn)行在一個(gè)內(nèi)置的小型的Linux虛擬機(jī)中的。
在這里可以下載Toolbox的安裝程序,雙擊打開(kāi)按照步驟提示安裝好之后,即可以進(jìn)行下一步,首先在Applications文件夾或者Launchpad中打開(kāi)Docker QuickStart Terminal,該程序會(huì)直接打開(kāi)一個(gè)終端控制臺(tái),并且創(chuàng)建或者連接到一個(gè)叫default的虛擬機(jī)并且將控制臺(tái)登錄到該虛擬機(jī)中。當(dāng)然,用戶也可以用docker-machine命令來(lái)手動(dòng)創(chuàng)建或者登錄到虛擬機(jī)中:
From your shell:從命令行創(chuàng)建創(chuàng)建一個(gè)新的Docker虛擬機(jī)
$ docker-machine create --driver virtualbox default Creating VirtualBox VM... Creating SSH key... Starting VirtualBox VM... Starting VM... To see how to connect Docker to this machine, run: docker-machine env default
注意,該虛擬機(jī)相關(guān)的配置文件存放在~/.docker/machine/machines/default目錄下。
列舉所有可用的機(jī)器
$ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM default * virtualbox Running tcp://192.168.99.101:2376
獲取環(huán)境配置
$ docker-machine env default export DOCKER_TLS_VERIFY="1" export DOCKER_HOST="tcp://192.168.99.101:2376" export DOCKER_CERT_PATH="/Users/mary/.docker/machine/machines/default" export DOCKER_MACHINE_NAME="default" # Run this command to configure your shell: # eval "$(docker-machine env default)"
連接到該虛擬機(jī)
$ eval "$(docker-machine env default)"Proxy & Mirror Proxy For boot2docker
如果是使用boot2docker配置的Docker的運(yùn)行環(huán)境,那么配置文件并沒(méi)有放置在Windows或者M(jìn)AC系統(tǒng)種,而是附著在了小的Linux虛擬機(jī)的內(nèi)核中。首先我們需要在boot2docker的命令行中進(jìn)入到VM的設(shè)置:
Creating Machine default... Creating VirtualBox VM... Creating SSH key... Starting VirtualBox VM... Starting VM... To see how to connect Docker to this machine, run: docker-machine env default Starting machine default... Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command. Setting environment variables for machine default... . . . ## . ## ## ## == ## ## ## ## ## === /"""""""""""""""""\___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~ \______ o __/ __/ \____\_______/ docker is configured to use the default machine with IP 192.168.99.100 For help getting started, check out the docs at https://docs.docker.com
現(xiàn)在可以修改 /var/lib/boot2docker/profile 這個(gè)文件來(lái)設(shè)置代理:
docker@boot2docker:~$ sudo vi /var/lib/boot2docker/profile
Tinycore 需要按照如下格式進(jìn)行配置: protocol://ip:port
安全起見(jiàn)我同時(shí)設(shè)置了 HTTP 與 HTTPS.
export HTTP_PROXY=http://your.proxy.name:8080 export HTTPS_PROXY=http://your.proxy.name:8080
現(xiàn)在你可以重啟整個(gè)服務(wù)以及Docker容器:
docker@boot2docker:~$ sudo /etc/init.d/docker restart docker@boot2docker:~$ exit Connection to localhost closed.
接下來(lái)就可以順利的運(yùn)行鏡像了:
bash-3.2$ docker search ubuntu NAME DESCRIPTION STARS OFFICIAL AUTOMATED ubuntu Official Ubuntu base image 356 stackbrew/ubuntu Official Ubuntu base image 39 crashsystems/gitlab-docker A trusted, regularly updated build of GitL...
這個(gè)改變即使以后的虛擬機(jī)重啟重置也都一直會(huì)被保留,因此只需要被設(shè)置一次。
Docker Hub MirrorDaoCloud提供Docker Hub Mirror服務(wù)。用戶可以進(jìn)入Docker Hub Mirror注冊(cè)入口注冊(cè)。在進(jìn)入控制臺(tái)頁(yè)面后直接點(diǎn)擊 啟動(dòng)你的加速器后,您即可得到一個(gè)Mirror的地址,將該地址配置在Docker Daemon的啟動(dòng)腳本中,重啟Docker Daemon即可使得Docker Hub Mirror配置生效。
Ubuntu:
安裝或升級(jí)Docker
Docker 1.3.2版本以上才支持Docker Hub Mirror機(jī)制,如果您還沒(méi)有安裝Docker或者版本過(guò)低,請(qǐng)安裝或升級(jí)版本。
配置Docker Hub Mirror
sudo?echo?"DOCKER_OPTS="$DOCKER_OPTS?--registry-mirror=http://xxx.m.daocloud.io""?>>?/etc/default/docker?service?docker?restart?
請(qǐng)將xxx替換為您在 DaoCloud 上注冊(cè)后,為您專(zhuān)屬生成的Mirror地址鏈接名。 該腳本可以將 --registry-mirror 加入到您的Docker配置文件 /etc/defaults/docker中。
盡情享受Docker Hub Mirror
Docker Hub Mirror使用不需要任何附件操作,就像這樣下載官方Ubuntu鏡像
docker?pull?ubuntu?
CentOS:
安裝或升級(jí)Docker
Docker 1.3.2版本以上才支持Docker Hub Mirror機(jī)制,如果您還沒(méi)有安裝Docker或者版本過(guò)低,請(qǐng)安裝或升級(jí)版本。
配置Docker Hub Mirror
sudo?sed?-i?"s|OPTIONS=|OPTIONS=--registry-mirror=http://xxx.m.daocloud.io?|g"?/etc/sysconfig/docker?service?docker?restart?
請(qǐng)將xxx替換為您在 DaoCloud 上注冊(cè)后,為您專(zhuān)屬生成的Mirror地址鏈接名。
該腳本可以將 --registry-mirror 加入到您的Docker配置文件/etc/defaults/docker中。
盡情享受Docker Hub Mirror
Docker Hub Mirror使用不需要任何附件操作,就像這樣下載官方Ubuntu鏡像
docker?pull?ubuntu?
MAC:
安裝或升級(jí)MAC版本下的Boot2Docker
Docker 1.3.2版本以上才支持Docker Hub Mirror機(jī)制,如果您還沒(méi)有安裝Docker或者版本過(guò)低,請(qǐng)安裝或升級(jí)版本。
配置Docker Hub Mirror
請(qǐng)確認(rèn)你的Boot2Docker已經(jīng)啟動(dòng),并執(zhí)行
boot2docker?ssh?sudo?su?echo?"EXTRA_ARGS="--registry-mirror=http://xxx.m.daocloud.io""?>>?/var/lib/boot2docker/profile?&&?exit?exit?boot2docker?restart?
請(qǐng)將xxx替換為您在 DaoCloud 上注冊(cè)后,為您專(zhuān)屬生成的Mirror地址鏈接名。
盡情享受Docker Hub Mirror
Docker Hub Mirror使用不需要任何附件操作,就像這樣下載官方Ubuntu鏡像
docker?pull?ubuntu?
Windows:
安裝或升級(jí)MAC版本下的Boot2Docker
Docker 1.3.2版本以上才支持Docker Hub Mirror機(jī)制,如果您還沒(méi)有安裝Docker或者版本過(guò)低,請(qǐng)安裝或升級(jí)版本。
配置Docker Hub Mirror
進(jìn)入Boot2Docker Start Shell,并執(zhí)行
sudo?su?echo?"EXTRA_ARGS="--registry-mirror=http://xxx.m.daocloud.io""?>>?/var/lib/boot2docker/profile?exit?#?重新啟動(dòng)Boot2Docker?
請(qǐng)將xxx替換為您在 DaoCloud 上注冊(cè)后,為您專(zhuān)屬生成的Mirror地址鏈接名
盡情享受Docker Hub Mirror
Docker Hub Mirror使用不需要任何附件操作,就像這樣下載官方Ubuntu鏡像
docker?pull?ubuntu?Hello World
在Docker的學(xué)習(xí)中我們依舊可以借鑒經(jīng)典的HelloWorld,直接運(yùn)行docker run hello-world即可,不過(guò)需要注意的是,由于總所周知的原因,國(guó)內(nèi)往往無(wú)法順利的下載鏡像,如果遇到類(lèi)似的網(wǎng)絡(luò)的錯(cuò)誤可以參考上文中的代理或者鏡像的設(shè)置。
$ docker run hello-world Unable to find image "hello-world:latest" locally 511136ea3c5a: Pull complete 31cbccb51277: Pull complete e45a5af57b00: Pull complete hello-world:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security. 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. (Assuming it was not already locally available.) 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 For more examples and ideas, visit: http://docs.docker.com/userguide/Run Commands(運(yùn)行命令)
你的Container會(huì)在你結(jié)束命令之后自動(dòng)退出,使用以下的命令選項(xiàng)可以將容器保持在激活狀態(tài):
-i?即使在沒(méi)有附著的情況下依然保持STDIN處于開(kāi)啟
-t?分配一個(gè)偽TTY控制臺(tái)
所以run命令就變成了:
docker run -it -d shykes/pybuilder bin/bash
如果希望能夠附著到一個(gè)已經(jīng)存在的容器中,則利用exec命令:
docker exec -it CONTAINER_ID /bin/bashDocker Commands
docker-cheat-sheet
本章主要對(duì)于常見(jiàn)的Docker命令行命令進(jìn)行詳細(xì)介紹。
LifeCycle Containersdocker create?會(huì)創(chuàng)建一個(gè)容器但是不會(huì)立刻啟動(dòng)
docker run?會(huì)創(chuàng)建并且啟動(dòng)某個(gè)容器
如果只是希望有一個(gè)暫時(shí)性的容器,可以使用?docker run --rm?將會(huì)在容器運(yùn)行完畢之后刪除該容器。
如果希望在打開(kāi)某個(gè)容器之后能夠與其進(jìn)行交互,?docker run -t -i ?會(huì)創(chuàng)建一個(gè)TTY控制臺(tái)。
docker stop?會(huì)關(guān)閉某個(gè)容器
docker start?會(huì)啟動(dòng)某個(gè)容器
docker restart?會(huì)重新啟動(dòng)某個(gè)容器
docker rm?會(huì)刪除某個(gè)容器
如果希望能夠移除所有與該容器相關(guān)的Volume,可以使用-v參數(shù):?docker rm -v.
docker kill?會(huì)發(fā)送SIGKILL信號(hào)量到某個(gè)容器
docker attach?會(huì)附著到某個(gè)正在運(yùn)行的容器
docker wait?會(huì)阻塞直到某個(gè)容器關(guān)閉
Imagesdocker images?會(huì)展示所有的鏡像
docker import?會(huì)從原始碼中創(chuàng)建鏡像
docker build?會(huì)從某個(gè)Dockfile中創(chuàng)建鏡像
docker commit?會(huì)從某個(gè)Container中創(chuàng)建鏡像
docker rmi?會(huì)移除某個(gè)鏡像
docker load?以STDIN的方式從某個(gè)tar包中加載鏡像
docker save?以STDOUT的方式將鏡像存入到某個(gè)tar包中
Info Containersdocker ps?會(huì)列舉出所有正在運(yùn)行的容器
docker ps -a?會(huì)展示出所有正在運(yùn)行的和已經(jīng)停止的容器
docker logs?從某個(gè)容器中獲取log日志
docker inspect?檢測(cè)關(guān)于某個(gè)容器的詳細(xì)信息
docker events?從某個(gè)容器中獲取所有的事件
docker port?獲取某個(gè)容器的全部的開(kāi)放端口
docker top?展示某個(gè)容器中運(yùn)行的全部的進(jìn)程
docker stats?展示某個(gè)容器中的資源的使用情況的統(tǒng)計(jì)信息
docker diff?展示容器中文件的變化情況
Imagesdocker history?展示鏡像的全部歷史信息
docker tag?為某個(gè)容器設(shè)置標(biāo)簽
Import&Exportdocker cp?在容器與本地文件系統(tǒng)之間進(jìn)行文件復(fù)制
docker export?將某個(gè)容器中的文件系統(tǒng)的內(nèi)容輸出到某個(gè)tar文件中
Executing Commandsdocker exec?在容器中運(yùn)行某個(gè)命令
如果需要在某個(gè)名字為foo的容器中運(yùn)行交互命令,可以使用:
docker exec -it foo /bin/bash.
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/26481.html
摘要:在之前,十個(gè)項(xiàng)目可能有十種構(gòu)建方式,但通過(guò),所有項(xiàng)目的構(gòu)建命令都是簡(jiǎn)單一致的。有利于促進(jìn)項(xiàng)目團(tuán)隊(duì)的標(biāo)準(zhǔn)化。手工勞動(dòng)往往意味著低效,意味著容易出錯(cuò)。這在很大程度上消除了重復(fù)。默認(rèn)情況下,該文件夾下放置了本地倉(cāng)庫(kù)。學(xué)習(xí)實(shí)戰(zhàn)許曉斌著 Introduction Maven是一個(gè)異常強(qiáng)大的構(gòu)建工具,能夠幫我們自動(dòng)化構(gòu)建過(guò)程,從清理、編譯、測(cè)試到生成報(bào)告,再到打包和部署。通過(guò)Maven,我們只需要...
摘要:用法在當(dāng)中只有最后一條生效,其他都不生效第一種寫(xiě)法類(lèi)似數(shù)組形式,推薦使用。第二章方法執(zhí)行命令啟動(dòng)的進(jìn)程,該進(jìn)程的為執(zhí)行完這個(gè)的。命令覆蓋掉了中的命令,直接進(jìn)入到了中。刪除鏡像前,先停止。 ENTRYPOINT用法showImg(https://segmentfault.com/img/bVXNu5?w=702&h=322); entrypoint在dockerfile當(dāng)中只有最后一條生...
摘要:腳本運(yùn)行函數(shù)執(zhí)行完后,刪除啟動(dòng)以上是制作鏡像的配置文件。鏡像必須先鏡像,才能鏡像。查看容器狀態(tài)進(jìn)入到容器中查看數(shù)據(jù)庫(kù)只要數(shù)據(jù)庫(kù)文件目錄存在,可以隨意刪除重建,恢復(fù)很快。 構(gòu)建DB Docker鏡像 mysql的代碼文件 [root@Optimus /]# cd docker-training/ [root@Optimus docker-training]# ls centos7 my...
摘要:第二十期啟迪云高級(jí)交付經(jīng)理董樂(lè)首先我們基礎(chǔ)架構(gòu)的組成主要是計(jì)算存儲(chǔ)和網(wǎng)絡(luò)。不會(huì)取代像或這樣的配置管理。事實(shí)上,在創(chuàng)建鏡像時(shí),可以使用或等工具在鏡像上安裝軟件。第二十期 啟迪云高級(jí)交付經(jīng)理 ?董樂(lè) 首先我們基礎(chǔ)架構(gòu)的組成主要是計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)。在我們以往的模式中主要使用的是虛擬化技術(shù)。 無(wú)論哪種虛擬化技術(shù)在實(shí)際生產(chǎn)環(huán)境中主要都是通過(guò)模板來(lái)提高交付效率,模板主要由操作系統(tǒng)和應(yīng)用組成。...
閱讀 3960·2021-11-24 09:38
閱讀 1225·2021-10-19 11:42
閱讀 1829·2021-10-14 09:42
閱讀 2154·2019-08-30 15:44
閱讀 544·2019-08-30 14:04
閱讀 2888·2019-08-30 13:13
閱讀 1949·2019-08-30 12:51
閱讀 956·2019-08-30 11:22