Docker的安裝

laoma8888發表於2018-05-12

安裝環境:
Docker最低支援Centos7系統,並且核心版本不低於3.10。

升級所有軟體包

yum -y update

安裝步驟:

①阿里雲的安裝指令碼

curl -sSl http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

 ②手動

更新完軟體包下一步需要安裝Docker-engine,

//檢視一下系統裡是否存在Docker的repo包,

ls /etc/yum.repo.d/

發現並沒有Docker的docker.repo包,然後配置一下Docker的yum源,

執行

vim /etc/yum.repos.d/docker.repo

[dockerrepo]
name=Docker Repository
baseurl=http://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=0

貼上進去,配置好後安裝docker-engine

yum -y install docker-engine

安裝好了之後準備啟動Docker服務。(可以把docker-engine理解為虛擬機器vmware,因為新建虛擬機器需要把vmware服務啟動)

systemctl start docker
systemctl enable docker //設定服務自啟動
systemctl status docker //檢視docker服務的狀態

 

檢視Docker資訊(確認服務執行)

docker info

更多命令使用docker --help檢視

想要建立一個新的container容器的話,我們要基於image,通過docker info 命令可以檢視Container的數量和Image的數量,沒有Image就沒法建立Container,需要尋找Image然後下載Image,基於Image建立Container。

使用docker search centos,其實就是在Dcoker Hub上尋找Image。

找到之後然後拉取下載Image

docker pull centos

完成之後使用
docker images命令檢視系統存在的image列表

然後執行一個Container
//centos是image的名字,基於centos這個image。
docker run -i -t centos /bin/bash
執行完命令之後出現一串字串,其實是容器的id,也就代表已經在這個容器裡面了,在裡面就可以安裝一些軟體了,比如httpd,php什麼的。

完整舉例:

docker run -it centos:6 /bin/bash
-it  //指定要建立互動式容器
centos:6   // 以倉庫:TAG的形式制定了映象名稱
/bin/bash  // 容器對應的程式,會啟動一個新的shell

通過如上命令,我們啟動了新的shell,並執行在容器環境中。由於是一個互動式容器,所以我們會離開當前的shell,被這個新的shell帶入到容器的虛擬世界中,此後我們在這個shell裡面執行的任何命令,都是相對於這個虛擬世界的。

退出命令是exit

docker ps 命令是檢視當前節點上執行的容器列表
docker ps -a 是檢視所有容器(包括執行和停止的)
docker kill docker_id 殺掉某個docker程式,只是關掉,沒刪除。
docker start docker_id 啟動
docker stop docker_id 停止
docker restart docker_id 重啟
docker rm docker_id 刪除某個容器

建立新的Image

//docker commit
先啟動一個新的Container

docker run -ti centos /bin/bash //基於centos映象建立一個新的Container獲取一個shell

隨便安裝一個想要安裝的軟體,也就是在容器裡安裝了。
然後exit退出,結合docker ps | -a 命令觀察狀態。
先看一下,執行docker images,
然後把新的容器id複製,執行

docker commit docker_id centos:tag_name //這樣就封裝了一個新的image,裡面多了你安裝的軟體之類的。

 ---------------------------------------

docker images --format "{{.ID}}:{{.Repository}}"  //直接列出映象結果,只包括ID和倉庫名

 

相關文章