SpringBoot系列—Docker(十九)

個(gè)人博客:haichenyi.com。感謝關(guān)注

簡(jiǎn)介

??Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,基于 Go 語(yǔ)言 并遵從Apache2.0協(xié)議開(kāi)源。
Docker 可以讓開(kāi)發(fā)者打包他們的應(yīng)用以及依賴包到一個(gè)輕量級(jí)、可移植的容器中,
然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。

??容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口,更重要的是容器性能開(kāi)銷極低。

??我們spring boot項(xiàng)目,什么地方需要用到dockers呢?我們最后項(xiàng)目發(fā)布,發(fā)到服務(wù)器上面,環(huán)境怎么搭建?如果就用Linux命令會(huì)很麻煩,用Docker,簡(jiǎn)單的幾行命令就可以了。

??服務(wù)器其實(shí)就是一個(gè)操作系統(tǒng),我們的項(xiàng)目跑在上面也是需要環(huán)境的,我們本地是windows系統(tǒng),跑項(xiàng)目需要環(huán)境,服務(wù)器現(xiàn)在一般都是centOS系統(tǒng),當(dāng)然也需要環(huán)境。

核心概念

  • docker鏡像(images):Docker鏡像用于創(chuàng)建Docker容器的模板
  • docker容器(container):Docker容器是獨(dú)立運(yùn)行的一個(gè)或者一組應(yīng)用
  • docker客戶端(client):客戶端通過(guò)命令或者其他工具一起使用docker api與docker守護(hù)進(jìn)程
  • docker主機(jī)(host):一個(gè)物理或者虛擬的機(jī)器用于執(zhí)行docker守護(hù)進(jìn)程和容器
  • docker倉(cāng)庫(kù)(registry):docker倉(cāng)庫(kù)用來(lái)保存鏡像,可以理解為代碼控制中的代碼倉(cāng)庫(kù)。docker hub提供了龐大的鏡像集合供使用

??舉個(gè)例子,我們一般操作流程是這樣的:

  1. 先用VirtualBox啟動(dòng)一個(gè)虛擬機(jī),啟動(dòng)的是centOS系統(tǒng),裝上docker程序(docker主機(jī))。這個(gè)對(duì)應(yīng)的就是我們項(xiàng)目最后發(fā)布的服務(wù)器。
  2. 然后,用SecureCRT連上我們這個(gè)虛擬機(jī)。(docker客戶端)。
  3. 接著,通過(guò)docker從docker 倉(cāng)庫(kù)中下載我們需要的鏡像,比方說(shuō):mysql鏡像,redis鏡像等等。
  4. 最后,啟動(dòng)這個(gè)鏡像,就相當(dāng)于創(chuàng)建一個(gè)容器。啟動(dòng)鏡像,就相當(dāng)于配置好了環(huán)境。比方說(shuō):?jiǎn)?dòng)一個(gè)mysql鏡像,就相當(dāng)于創(chuàng)建了一個(gè)mysql容器,就可以用mysql數(shù)據(jù)庫(kù)了??梢詥?dòng)的那個(gè)多個(gè)鏡像,并且,每個(gè)鏡像都是獨(dú)立運(yùn)行的,互不干擾(沙箱機(jī)制)。

Docker安裝

查看centOS版本:

//docker要求CentOS系統(tǒng)內(nèi)核版本要高于3.10
uname -r

升級(jí)軟件包及內(nèi)核:

//因?yàn)?,我們安裝的docker是最新版本的
//但是,內(nèi)核版本低可能不兼容,所以,要更新
//如果,后面安裝成功之后,啟動(dòng)的時(shí)候出錯(cuò),那么就先卸載docker,更新內(nèi)核
//重啟之后,再重新安裝docker就行了
yum update

安裝docker

yum install docker

卸載docker

yum remove docker-*

啟動(dòng)docker

systemctl start docker

將docker作為開(kāi)機(jī)啟動(dòng)

systemctl enable docker

常用操作

名稱 命令 說(shuō)明
檢索 docker search 關(guān)鍵字(eg:docker search redis) 我們經(jīng)常去docker hub上檢索鏡像的詳細(xì)信息,不用再本地敲命令搜索。如鏡像的TAG
拉取 docker pull 鏡像名:tag :tag是可選的,tag表示標(biāo)簽,多為軟件的版本,默認(rèn)是latest版本
列表 docker images 查看所有本地鏡像
刪除 docker rmi image-id 刪除指定的本地鏡像,鏡像id可以通過(guò)列表查看
運(yùn)行 docker run -d --name 自定義名字 安裝的容器名字(eg:docker run –d –name myredis redis) --name:自定義容器名 -d:后臺(tái)運(yùn)行
列表 docker ps(查看運(yùn)行中的容器) 加上-a;可以查看所有容器
停止 docker stop container-name/container-id 停止當(dāng)前你運(yùn)行的容器
啟動(dòng) docker start container-name/container-id 啟動(dòng)容器
刪除 docker rm container-id 刪除指定容器
端口映射 -p 6379:6379 -p: 主機(jī)端口(映射到)容器內(nèi)部的端口
容器日志 docker logs container-name/container-id

PS:我們docker run的時(shí)候一般都是跟上端口映射,不然訪問(wèn)不到。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 《Docker從入門到實(shí)踐》閱讀筆記 原書(shū)地址: https://yeasy.gitbooks.io/docker...
    GuoYuebo閱讀 11,627評(píng)論 1 39
  • 一、Docker 簡(jiǎn)介 Docker 兩個(gè)主要部件:Docker: 開(kāi)源的容器虛擬化平臺(tái)Docker Hub: 用...
    R_X閱讀 4,510評(píng)論 0 27
  • 0x01 核心概念 Docker鏡像類似于虛擬機(jī)鏡像,可以理解為一個(gè)面向Docker引擎的只讀模板,包含了文件系統(tǒng)...
    閑云逸心閱讀 4,955評(píng)論 0 9
  • docker常用命令詳解 - CSDN博客 本文只記錄docker命令在大部分情境下的使用,如果想了解每一個(gè)選項(xiàng)的...
    Meathill大魔王閱讀 877評(píng)論 1 2
  • 我一直想做的事是:學(xué)瑜伽。 我沒(méi)有行動(dòng)的原因: 1.沒(méi)時(shí)間。我要去上課時(shí),必須先生在家?guī)Ш⒆樱墒窍壬绻影嗷蛘?..
    秀琴sukin閱讀 276評(píng)論 4 3

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