<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          年輕人的第一個 Docker 應(yīng)用,大大提高生產(chǎn)力!

          共 3945字,需瀏覽 8分鐘

           ·

          2020-11-13 15:24

          Java技術(shù)棧

          www.javastack.cn

          關(guān)注閱讀更多優(yōu)質(zhì)文章



          上一篇:年輕人的第一個 Spring Boot 應(yīng)用!

          哈哈,標(biāo)題我抄了雷總的,不重要哦,重要的是 Docker 真的很年輕,雖然現(xiàn)在才不到 8 歲,但卻是個冉冉升起的巨星,火得一塌糊涂。

          這幾年 Docker 實(shí)在太火了,Docker 是干嘛的?做 Java 的怎么能不知道 Docker?所以,本篇棧長帶大家來做第一個 Docker 應(yīng)用,你就有個基本認(rèn)識了。

          可能有些人覺得 Docker 和自己沒多大關(guān)系,自己寫好代碼就行了,Docker 那是運(yùn)維用的東西,看完這篇,我想改變你的想法。

          一、什么是 Docker?

          Docker 是現(xiàn)在最主流的開源容器,遵循 Apache 2.0 協(xié)議,使用 GO 語言進(jìn)行開發(fā),始于 2013 年,現(xiàn)已加入 Linux 基金會。

          Docker 的核心思想是:"Build?once, Run?anywhere",即:一次構(gòu)建,處處運(yùn)行,這里可以是一個操作系統(tǒng)、一個 Web 應(yīng)用,或者一個數(shù)據(jù)庫服務(wù)等。

          我們可以將 Docker 理解為一個輕量級的沙盒,Docker 容器完全使用沙盒機(jī)制,每個容器內(nèi)都有其獨(dú)立運(yùn)行的環(huán)境和組件,容器之間是相互隔離互不影響的,也可以進(jìn)行容器間的通信。

          Docker 支持所有主流的操作系統(tǒng),如:Linux/Mac/Windows,所有主流的云服務(wù)也支持 Docker,所以,我們可以將應(yīng)用及依賴、環(huán)境信息等打包到一個 Docker 容器中,可以很輕松的實(shí)現(xiàn)應(yīng)用發(fā)布、遷移等。

          Docker 官網(wǎng):

          https://www.docker.com/

          Docker 代碼托管:

          https://github.com/docker

          二、安裝 Docker

          Docker 有社區(qū)版、企業(yè)版。社區(qū)版是開源免費(fèi)的,企業(yè)版是收費(fèi)的,當(dāng)然也會有更牛逼的特性和服務(wù),一般的應(yīng)用社區(qū)版的足夠了。

          Docker 的安裝十分簡單,棧長這里以 Mac 和 Docker 社區(qū)版為例作為安裝演示。

          打開 Docker 開始頁:

          https://www.docker.com/get-started

          下載 Mac 版 Docker 安裝包直接安裝即可。

          安裝完后使用 docker -v 命令進(jìn)行可以查看 Docker 版本:

          $?docker?-v
          Docker?version?19.03.13,?build?4484c46d9d、

          使用 docker version 還可以看到完整版本信息:

          docker?version
          Client:?Docker?Engine?-?Community
          ?Cloud?integration??0.1.18
          ?Version:???????????19.03.13
          ?API?version:???????1.40
          ?Go?version:????????go1.13.15
          ?Git?commit:????????4484c46d9d
          ?Built:?????????????Wed?Sep?16?16:58:31?2020
          ?OS/Arch:???????????darwin/amd64
          ?Experimental:??????false

          Server:?Docker?Engine?-?Community
          ?Engine:
          ??Version:??????????19.03.13
          ??API?version:??????1.40?(minimum?version?1.12)
          ??Go?version:???????go1.13.15
          ??Git?commit:???????4484c46d9d
          ??Built:????????????Wed?Sep?16?17:07:04?2020
          ??OS/Arch:??????????linux/amd64
          ??Experimental:?????false
          ?containerd:
          ??Version:??????????v1.3.7
          ??GitCommit:????????8fba4e9a7d01810a393d5d25a3621dc101981175
          ?runc:
          ??Version:??????????1.0.0-rc10
          ??GitCommit:????????dc9208a3303feef5b3839f4323d9beb36df0a9dd
          ?docker-init:
          ??Version:??????????0.18.0
          ??GitCommit:????????fec3683

          看到 Docker 版本信息表示安裝成功了。

          三、啟動 Docker

          Mac 版本的 Docker 只要點(diǎn)擊應(yīng)用圖標(biāo)進(jìn)入就自動啟動了,也可以設(shè)置開機(jī)自動啟動。

          Mac 版 Docker 官方就自帶了控制臺客戶端,通過 Dashboard 菜單進(jìn)入。

          通過控制臺可以進(jìn)行容器、鏡像的管理、設(shè)置等。

          總之 Docker 的安裝和啟動都非常簡單,不同的系統(tǒng)環(huán)境都可以輕松完成。

          四、第一個 Docker 應(yīng)用

          熟悉 Tomcat 的朋友都知道,Tomcat 安裝后 Webapp 下面會自帶一些 Web 項(xiàng)目。關(guān)于 Tomcat 系列教程可以關(guān)注公眾號Java技術(shù)棧搜索閱讀,這里不再展開。

          Docker 也是如此,Docker 安裝完后也會自帶一些鏡像,可以在控制臺中看到,也可以使用docker images 命令查看本地所有 Docker ?鏡像。

          如下圖所示,切換到 Images:

          Docker 自帶了一個 docker tutorial 鏡像,這是一個學(xué)習(xí) Docker 的向?qū)хR像,本身是一個 Web 應(yīng)用的鏡像,怎么把它啟動起來呢?

          鏡像只是一個只讀的靜態(tài)文件,不能運(yùn)行,容器才是鏡像的運(yùn)行實(shí)例,所以需要新增一個容器來運(yùn)行。

          客戶端運(yùn)行

          最簡單的方法是點(diǎn)擊該鏡像右邊的運(yùn)行按鈕:

          在上面的對話框中填寫容器的必要信息,如這里容器的端口和映射本機(jī)的端口都是 80,最后點(diǎn)擊運(yùn)行按鈕。

          這里 Docker 容器中多了一個剛才新建的 docker-tutorial 容器,并且運(yùn)行在 80 端口。

          那么我們來訪問一下這個 Docker 應(yīng)用,通過該容器右側(cè)的打開瀏覽器或者輸入 http://localhost/ 進(jìn)行訪問:

          恭喜你,已經(jīng)運(yùn)行成功了!

          命令行運(yùn)行

          客戶端操作只是輔助,命令行才是精髓,學(xué)習(xí) Docker 我們也要記住常用的命令,其實(shí)我們剛才新建容器、運(yùn)行容器都是通過這條命令一次完成的:

          docker run -d -p 80:80 docker/getting-started

          這樣就等同于基于鏡像新建容器、再運(yùn)行該容器。

          簡單解釋下各個參數(shù)的意思:

          也可以縮簡成:

          docker run -dp 80:80 docker/getting-started

          所以還是以這個鏡像為例,先在客戶端停掉該容器,然后再用命令來啟動下:

          $?docker?run?-dp?80:80?docker101tutorial
          9df38488adcc2a53dad65691854ffc603e1fb3e25954183b83200809805b0d93

          啟動成功會輸出該容器的 ID.

          通過 docker ps 命令可以查看所有正在運(yùn)行中的容器:

          $?docker?ps
          CONTAINER?ID????????IMAGE???????????????COMMAND??????????????????CREATED?????????????STATUS??????????????PORTS????????????????NAMES
          9df38488adcc????????docker101tutorial???"/docker-entrypoint.…"???3?minutes?ago???????Up?3?minutes????????0.0.0.0:80->80/tcp???hopeful_gauss

          可以看到,我們的 docker101tutorial 容器又運(yùn)行起來了,也可以正常訪問。

          另外,通過 docker ps -a 命令可以查看所有容器。

          更多 Docker?命令參考:

          Docker 核心概念、安裝及常用操作命令

          四、結(jié)語

          本文棧長簡單介紹了下 Docker 的基本概念,Docker 的安裝和啟動,以及第一個 Docker 應(yīng)用的運(yùn)行。

          有了 Docker 鏡像,我們就能在任何安裝有 Docker 的機(jī)器上運(yùn)行,不用再重復(fù)配置環(huán)境安裝依賴等,是不是很爽?

          Docker 公共倉庫中還有許多官方提供好的鏡像,如:Nginx、MySQL、Redis 等,都可以直接就能拿來用,所以,別再說 Docker 只是運(yùn)維用的東西,和 Java 開發(fā)沒多大關(guān)系,用好它,我們開發(fā)效率杠杠的,也能提高我們的技術(shù)水平。

          好了,第一個年輕人的 Docker 應(yīng)用就到這里了,后續(xù)棧長還會帶來更多 Docker 實(shí)用性的教程,比如 Spring Boot 的部署以及與 IDEA 的集成使用等,關(guān)注公眾號Java技術(shù)棧第一時間推送。

          覺得不錯,在看、分享轉(zhuǎn)發(fā)一下,寫文章不易,需要你們的鼓勵,感謝各位老鐵們!

          版權(quán)申明:本文系公眾號 "Java技術(shù)棧" 原創(chuàng),原創(chuàng)實(shí)屬不易,轉(zhuǎn)載、引用本文內(nèi)容請注明出處,禁止抄襲、洗稿,請自重,尊重他人勞動成果和知識產(chǎn)權(quán)。






          關(guān)注Java技術(shù)??锤喔韶?/strong>



          戳原文,獲取精選面試題!
          瀏覽 73
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲无码一卡 | 日本超碰在线观看 | 持级黄色免费看黄色片 | 久操婷婷五月天 | 国产精品成人无码a无码 |