docker安裝及使用

1、簡介java

     提及docker,大多數人第一時間想起來的應該有虛擬化、雲計算,這三者有什麼區別呢?linux

     對比:docker

  •              咱們所熟知的虛擬化有KVM、xen、Hyper-V等,這些虛擬化虛擬出來的服務器會產生一個新的操做系統(包括內核層、用戶層等)
  •              雲計算跟虛擬化不是一個概念的東西,咱們常見的OpenStack雲計算技術是基於虛擬化的技術,虛擬出來一個個的虛擬機,而後再管理這些虛擬機
  •              docker也算一個輕量級的虛擬化,只不過它不會產生一個新的新的操做系統,二是產生一個容器,這個容器能夠隨時中止和從新啓動,時間也比虛擬機要
  • 快的多,都是毫秒級的;並且使用容器部署咱們的業務服務,能夠保證開發、測試、生產環境的高度一致,不再會擔憂由於環境的問題致使運行服務失敗的問題了。

2、docker安裝centos

      在這裏使用的操做系統是centos7.4的版本,安裝的docker版本是18.03.1-ce,首先咱們先配置好咱們的yum源,建立新文件:/etc/yum.repos.d/docker-ce.repo緩存

      

[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/7/x86_64/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/gpg

[docker-ce-stable-debuginfo]
name=Docker CE Stable - Debuginfo $basearch
baseurl=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/7/x86_64/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/gpg
  1.       yum clean all && rm -rf /var/cache/yum             #清除yum緩存
  2.       yum makecache                                              #創建新的緩存
  3.       yum install -y yum-utils  device-mapper-persistent-data  lvm2    #安裝依賴包
  4.       yum -y install docker-ce                                  #安裝docker
  5.       systemctl start docker && systemctl enable docker  #安裝並設置自啓動
  6.       systemctl status  docker                                 #查看docker的運行狀態
  7.       如今咱們可使用docker -h/--help來查看docker命令的用法了

3、docker的使用服務器

        在這裏我只跟你們介紹我所用到的一些命令的用法,其它的你們能夠自行查看,docker  commandapp

        command:測試

 images或者image ls -a: 查看當前有哪些鏡像,這裏須要說明的是容器是由鏡像建立的,那麼咱們怎麼建立鏡像呢?別急,一個一個來ui

 pull  鏡像名:  這樣咱們就是從GitHub上面拉取別人建立好的鏡像,好比咱們拉取Java的一個鏡像,就是docker pull  Java,基於這個雲計算

                         Java鏡像,咱們能夠定製本身的鏡像

 search  鏡像名:  就會搜索這個全部公共的鏡像

 built -t -f Dockerfile文件: 這個命令就是基於一個鏡像(好比Java鏡像)來建立本身的鏡像,Dockerfile文件後面會詳細介紹的

 run --name 容器名 -d -p 宿主機端口:容器端口  鏡像名:   這個是建立一個容器,-d是之後臺進程運行,-p暴露你想暴露的端口

 container ls -a 或者 ps -a:  查看已經存在的容器,從中能夠看到容器運行的狀態等信息

 rmi  鏡像名或者image rm 鏡像名:   刪除一個鏡像

 rm 容器名或者container rm 容器名:  刪除一個容器,這裏須要注意的是,刪除一個運行中的容器是刪除不掉的,須要先中止它,使用下面的命令中止

 stop 容器名:  中止一個運行中的容器

基本的操做就這些,其它的命令還有不少,我就不一一介紹了,後面文章還會涉及到集羣,到時候用到那些命令,再詳細的介紹

4、Dockerfile

上面咱們談到建立本身的鏡像的時候,用到了Dockerfile,咱們先來看下我寫過的一個Dockerfile文件:

FROM java
ENV APP_HOME=/opt/byit_jar \
    BYIT_TYPE=byit-test

WORKDIR ${APP_HOME}
ADD ${BYIT_TYPE}-0.0.1-SNAPSHOT.jar ${APP_HOME}

ENTRYPOINT java -jar ${APP_HOME}/${BYIT_TYPE}-0.0.1-SNAPSHOT.jar

解釋說明:

FROM java    //這行的意思就是引用咱們上面pull下來的那個Java鏡像

ENV              //定義變量

WOEKDIR    //定義容器工做的目錄,就是上面定義的/opt/byit_jar

ADD             //就是把當前目錄下的jar包拷貝到工做目錄下面去

ENTRYPOINT  //運行工做目錄下的jar包,記住,不能之後臺進程的方式去運行,否則的話,容器起不來

咱們就能夠運行docker build -t byit-test .  生成一個byit-test的鏡像,咱們可使用這個鏡像來生成容器了,執行,

docker run --name byit-test1 -d -p 8080:8080 byit-test    //爲了區分,我把容器的名稱寫成byit-test1了!

5、私有倉庫

咱們剛剛pull下來的鏡像是在共有倉庫中存儲的,咱們若是想把本身建立的鏡像放在本身的私有倉庫中使用的話,能夠本身搭建

  1. 首先咱們須要pull下來一個叫作registry的鏡像,這裏我簡單的說下一個鏡像是由倉庫名和標籤組成的,其實標籤的話,能夠說成版本號
  2. 下載完以後,咱們直接運行docker run --name myregistry -d -p 5000:5000 registry 就建立屬於本身的私有倉庫了
  3. 而後咱們若是想把上面的byit-test上傳到私有倉庫的話,還須要重命名一下,docker tag byit-test localhost:5000/byit-test,標籤能夠加也能夠不加
  4. 下載也是同樣的,咱們須要指定私有倉庫的地址/加名字才能夠
相關文章
相關標籤/搜索