第一步Docker書讀后筆記整理(一)

docker.png

Docker 簡介及基礎操作知識

Docker是一個能夠把開發(fā)的應用程序自動部署的開源引擎。由Docker公司的團隊編寫,基于Apache2.0開源授權協(xié)議發(fā)行。
使用Docker,開發(fā)人員只需要關心容器中運行的應用程序,而運維人員只需要關心如何管理容器。Docker設計的目的就是要加強開發(fā)人員寫代碼的開發(fā)環(huán)境于應用程序要部署的生產(chǎn)環(huán)境的一致性,從而降低那種“開發(fā)時一切正常,肯定是運維的問題”的風險。

Docker組件

  • Docker客戶端和服務器:
  • Docker鏡像:
  • Registry:
  • Docker容器。

安裝Docker

  1. 在RHEL6 和CentOS6中安裝Docker
    '' rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-relaase-6-8.noarch.rpm
    安裝完成EPEL后,就可以安裝Docker了
    '' yum -y install docker-io

  2. 在RHEL7中安裝Docker
    '' subscription-manager repos —enable=rhel-7-server-extras-rpms
    '' yum install -y docker

在Red Hat系統(tǒng)發(fā)行版中啟動Docker守護進程

軟件包安裝完成后就可以啟動Docker守護進程了。在RHEL6或Centos6,可以使用下面的所示命令啟動守護進程
service docker start
想要在系統(tǒng)開機時自動啟動Docker服務,還要執(zhí)行以下代碼。
service docker enable
在RHEL7或Fedora中啟動Docker服務,則需要執(zhí)行命令。
systemctl start docker
在RHEL7中開機自動啟動Docker
systemctl enable docker

Docker守護進程

當Docker軟件包安裝完畢后,默認會立即啟動Docker守護進程。守護進程兼聽/var/run/docker.sock這個Unix套接字文件,來獲取自客戶端的Docker請求。如果系統(tǒng)中存在名為docker的用戶組的話,Docker則會該套接字文件的使用者設置為該用戶組。這樣,docker用戶組的所有用戶都可以直接運行Docker,則無需在使用sudo命令了。
運行Docker守護進程時,可以用-H標志調(diào)整守護進程綁定監(jiān)聽接口的方式。
'' /usr/bin/docker -d -H tcp://0.0.0.0:2375
這條命令會將Docker守護進程綁定到宿主機子上的所有網(wǎng)絡接口和端口配置。

檢查Docker守護進程是否正常運行

在RedHat和Fedora,只需要用service命令就可以完成工作,如下
service docker stop
service docket start

運行第一個容器

'' docker run -i -t centos /bin/bash
**docker run **命令,并指定了-i和-t兩個命令行參數(shù)。-i標志保證容器中STDIN是開啟的,-t則標志它告訴Docker為要創(chuàng)建的容器分配一個偽tty終端。在本例中運行/bin/bash命令,這時可以看到容器內(nèi)的shell了。
'' [root@1e8f2ed75268 /]#
Docker已在hosts文件中為該容器IP地址添加了一條主機配置項。
'' [root@1e8f2ed75268 /]# cat /etc/hosts
'' 172.17.0.1 1e8f2ed75268
'' 127.0.0.1 localhost
'' ::1 localhost ip6-localhost ip6-loopback
'' fe00::0 ip6-localnet
'' ff00::0 ip6-mcastprefix
'' ff02::1 ip6-allnodes
'' ff02::2 ip6-allrouters
docker ps -a 命令查看當前系統(tǒng)中容器的列表
(img)

  • 容器命名
    Docker會為我們創(chuàng)建一個容器自動生成一個隨機的名稱,可以用—-name標志來
    實現(xiàn)
    '' docker run —-name test_container -i -t centos /bin/bash

  • 重新啟動已經(jīng)停止的容器
    ''docker start test_container_

  • 附著到容器上
    '' docker attach 1e8f2ed75268

  • 查看容器內(nèi)部都在干些什么
    '' docker logs -ft 683515e52da3
    (img)

  • 深入容器獲取內(nèi)部信息
    '' docker inspect 683515e52da3
    (img)
    docker inspect命令會對容器進行詳細的檢查,然后返回其配置信息,包括名稱、命令、網(wǎng)絡配置以及很多使用的數(shù)據(jù)。
    '' docker inspect --format '{{.State.Running }}' 683515e52da3
    上述該狀態(tài)為false
    '' docker inspect --format '{{ .NetworkSettings.IPAddress }}' 1e8f2ed75268

172.17.0.6

除了查看容器,你還可以通過瀏覽/var/lib/docker 目錄深入了解Docker原理。該目錄存放著Docker鏡像、容器以及容器的配置。所有的容器都保存在/var/lib/docker/containers/

  • 刪除容器
    docker rm 1e8f2ed75268
    需要注意的是,運行中得Docker容器都是無法刪除的!你必須先通過docker stop 或docker kill 命令停止容器,才能將其刪除。
    docker rm docker ps -a -q
    上面的docker ps 命令會列出所有的全部容器,-a標志代表所列出所有(all)容器,而-q標志則表示只需要返回容器的ID而不會返回容器的其他信息。這樣就得到了容器ID的列表,并傳給了docker rm 命令,從而達到刪除所有容器的目的。
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 一、Docker 簡介 Docker 兩個主要部件:Docker: 開源的容器虛擬化平臺Docker Hub: 用...
    R_X閱讀 4,510評論 0 27
  • 轉載自 http://blog.opskumu.com/docker.html 一、Docker 簡介 Docke...
    極客圈閱讀 10,740評論 0 120
  • 肆 情到深處自然親 不知道你是不是在農(nóng)村生活過,也不知道你是不是知道每年冬天,是村子里老人走的最多的一個季節(jié)。 自...
    6月姑娘閱讀 281評論 0 1
  • 今天話題是反向思維。 很多人僅僅從書中套來一系列的知識點就加工成干貨來教育別人,我認為極其不專業(yè)。另外,真正的干貨...
    星陽JKSUEN閱讀 908評論 0 6
  • 一朋友從遠方歸來,滿臉意猶未盡,不舍依依的樣子。 我們問他:“收獲不???” 他笑得很神秘,大家都對遠方充滿了憧...
    灰鞋閱讀 623評論 0 1

友情鏈接更多精彩內(nèi)容