在CentOS或Fedora上運(yùn)行Docker容器的方法與步驟

最近 Docker 已經(jīng)顯示出作為云環(huán)境中部署應(yīng)用的一項(xiàng)關(guān)鍵技術(shù)。和傳統(tǒng)的硬件虛擬化對比,基于 Docker 容器的沙箱為應(yīng)用部署環(huán)境提供了一系列的優(yōu)勢,比如:輕量級隔離、部署輕便、易于維護(hù)等等?,F(xiàn)在 Red Hat 在 Docker 容器管理和部署方面提供了社區(qū)支持。
不僅僅是云環(huán)境,Docker 對于終端用戶也是十分有用的,特別是當(dāng)你想在指定的 linux 容器中嘗試流行的軟件。你能非常容易的為目標(biāo)環(huán)境中啟動 Docker 容器,并且在這個容器中安裝以及測試軟件,然后在你測試完成后丟棄這個容器。從開始到結(jié)束這整個流程是非常高效的。你自始至終都可以避免陷入搞糟你的系統(tǒng)環(huán)境的麻煩中。
在這個教程中,我將描述怎樣在 CentOS 和 Fedora 上創(chuàng)建和管理 Docker 容器。注意,Docker 僅僅支持 64 位的操作系統(tǒng)。如果你想基于 Ubuntu 測試,請參考這個教程
在 CentOS 或 Fedora 上安裝 Docker 容器
在 CentOS 上安裝 Docker,首先需要添加 EPEL 倉庫,然后使用 yum 命令:
$ sudo yum install docker-io $ sudo service docker start $ sudo chkconfig docker on
在 Fedora 上安裝 Docker, 使用如下命令:
$ sudo yum install docker-io $ sudo systemctl start docker.service $ sudo systemctl enable docker.service
在 CentOS 或 Fedora 上安裝完成 Docker 后,為了能以非 root 用戶運(yùn)行 docker,你需要把你自己添加進(jìn) docker 用戶組,使用如下命令:
sudo usermod -a -G docker $USER
登出,然后再登入,以使組改變生效。
這個時(shí)候,你應(yīng)該可以以一個非特權(quán)用戶運(yùn)行 docker 命令了。
Docker 的基礎(chǔ)用法
為了啟動一個新的 Docker 容器,你需要決定使用哪個 Docker 鏡像,你可以通過搜索官方的 Docker image index ,這里面列出了公共可用的 Docker 鏡像。這個 Docker 索引中包含了由 Docker team 管理的 linux 基礎(chǔ)鏡像(比如:Ubuntu, Debian, Fedora, CentOS),也有用戶貢獻(xiàn)的普通鏡像(比如:MySQL, Redis, WordPress)。
例如,以交互式模式啟動一個 Ubuntu 容器,運(yùn)行以下命令,這最后的參數(shù) '/bin/bash' 是用于在容器內(nèi)部執(zhí)行的命令。
$ docker run -i -t ubuntu /bin/bash
第一次我們運(yùn)行以上命令,它將通過網(wǎng)絡(luò)下載可用的 Ubuntu 的 Docker 鏡像,并且使用這個鏡像啟動一個 Docker 容器,一個 Ubuntu 容器會立即啟動,你將在容器中看到 console 提示,你能通過容器沙箱訪問一個完全成熟的 Ubuntu 操作系統(tǒng)。
如果你在提示處鍵入 exit ,你將從容器中退出,并且容器將被停止。
獲取一個所有容器的列表(包括停止的),運(yùn)行如下命令:
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6a08a0b2bb4c ubuntu:14.04 /bin/bash About a minute ago Exit 0 cocky_ritchie
后臺重起一個已經(jīng)停止的容器:
$ docker start [container-id]
移除一個已經(jīng)停止的容器:
$ docker rm [container-id]
為了查看或者是與容器交互,進(jìn)入一個后臺運(yùn)行的容器,
$ docker attach [container-id]
你可以自由的定制一個正在運(yùn)行的容器(比如,安裝新軟件),如果你想保存當(dāng)前容器的變更,首先是鍵入 ```exit``` 命令退出交互式模式,然后通過使用這個命令來保存這個變更的鏡像,存儲成一個新的不同的鏡像。
$ docker commit [container-id] [new-image-name]
獲取你的容器的容器 ID ,你可以使用 ```docker ps -a``` 來查看。
一旦你像這樣創(chuàng)建一個新的鏡像,你可以使用這個鏡像運(yùn)行一個新的容器。
你也可以下載任何的公共鏡像(比如: ubuntu, bowery/mysql),并且在本地倉庫存儲他們,如下。
$ docker pull [image name]
查看所有的本地已經(jīng)下載或者保存的鏡像:
$ docker images
你可以選擇一個指定的鏡像來啟動一個容器:
$ docker run -i -t [image-id] /bin/bash
從本地倉庫中刪除一個鏡像:
$ docker rmi [image-id]
英文:http://xmodulo.com/docker-containers-centos-fedora.html
相關(guān)文章
如何解決centos下root運(yùn)行Elasticsearch異常
有些朋友在centos下root運(yùn)行Elasticsearch時(shí)發(fā)現(xiàn)異常;不知道該如何解決?下面小編就給大家?guī)斫鉀Qcentos下root運(yùn)行Elasticsearch異常的方法!有需要的朋友可以過來看看2016-11-28centos:/tmp不能運(yùn)行導(dǎo)致的安裝編譯錯誤問題解決方法
這篇文章主要介紹了centos:/tmp不能運(yùn)行導(dǎo)致的安裝編譯錯誤問題解決方法,需要的朋友可以參考下2016-08-25在CentOS下使用Munin來監(jiān)控服務(wù)器運(yùn)行的方法
這篇文章主要介紹了在CentOS下使用Munin來監(jiān)控服務(wù)器運(yùn)行的方法,Munin支持Nginx和Apache等服務(wù)器軟件,需要的朋友可以參考下2015-06-26CentOS進(jìn)程和計(jì)劃任務(wù)管理的詳解
今天小編為大家?guī)淼氖荂entOS進(jìn)程和計(jì)劃任務(wù)管理的詳解;希望會對大家有幫助;有需要的朋友可以過來看看2016-12-13Centos下如何為進(jìn)程綁定CPU?Centos下為進(jìn)程綁定CPU的方法
一些朋友還不知道Centos下如何為進(jìn)程綁定CPU?下面小編就為大家?guī)鞢entos下為進(jìn)程綁定CPU的方法;一起去看看吧2016-12-13- 今天,小編為大家分享的是Centos進(jìn)程狀態(tài)詳解;希望對大家的學(xué)習(xí)會有幫助;有需要的朋友可以過來看看2016-12-07
- 今天小編為大家?guī)淼氖荂entOS下ACL權(quán)限控制詳解;希望對大家會有幫助,有需要的朋友一起去看看吧2016-12-16
CentOS系統(tǒng)上搭建Git版本控制服務(wù)器的教程
這篇文章主要介紹了CentOS系統(tǒng)上搭建Git版本控制服務(wù)器的教程,包括創(chuàng)建SSH key以及打開RSA認(rèn)證等遠(yuǎn)程連接的相關(guān)配置方法講解,需要的朋友可以參考下2016-04-26在CentOS系統(tǒng)中安裝SVN版本控制軟件的教程
這篇文章主要介紹了在CentOS系統(tǒng)中安裝SVN版本控制軟件的教程,盡管近年來被Git搶盡風(fēng)頭,但SVN簡便的操作方式依然受到很多開發(fā)者的青睞,需要的朋友可以參考下2016-03-31CentOS系統(tǒng)安裝使用版本控制系統(tǒng)Subversion的方法
subversion是一個版本控制系統(tǒng),在CentOS系統(tǒng)中要如何使用subversion,下面為大家介紹下CentOS安裝使用subversion的方法,感興趣的朋友可以看看2015-03-31