天天看點

Docker ->(個人學習記錄筆記)

@

目錄

Docker基本使用

核心概念

docker常用指令

鏡像操作

修改鏡像源

容器操作

普通使用者運作docker

Docker是一個開源的應用容器引擎;是一個輕量級容器技術;

Docker支援将軟體編譯成一個鏡像;然後在鏡像中各種軟體做好配置,将鏡像釋出出去,其他使用者可以直接使用這個鏡像;

運作中的這個鏡像稱為容器,容器啟動是非常快速的。

Docker ->(個人學習記錄筆記)

<code>docker主機(Host)</code>:安裝了Docker程式的機器(Docker直接安裝在作業系統之上);

<code>docker用戶端(Client)</code>:連接配接docker主機進行操作;

<code>docker倉庫(Registry)</code>:用來儲存各種打包好的軟體鏡像;

<code>docker鏡像(Images)</code>:軟體打包好的鏡像;放在docker倉庫中;

<code>docker容器(Container)</code>:鏡像啟動後的執行個體稱為一個容器;容器是獨立運作的一個或一組應用

Docker ->(個人學習記錄筆記)

使用Docker的步驟:

确認要安裝docker的系統的linux核心高于<code>3.10</code>,低于3.10使用<code>yum update</code>更新

安裝docker

檢視docker版本

檢視docker狀态

啟動docker

停止docker

設定docker開機自啟

Docker ->(個人學習記錄筆記)

操作

指令

說明

檢索

docker search 關鍵字 eg:docker search redis

我們經常去docker hub上檢索鏡像的詳細資訊,如鏡像的TAG。

拉取

docker pull 鏡像名:tag

:tag是可選的,tag表示标簽,多為軟體的版本,預設是latest

清單

docker images

檢視所有本地鏡像

删除

docker rmi image-id

删除指定的本地鏡像

Docker ->(個人學習記錄筆記)

修改 <code>/etc/docker/daemon.json</code> ,寫入如下内容(如果檔案不存在請建立該檔案)

國内鏡像源

位址

Docker 官方中國區

https://registry.docker-cn.com

網易

http://hub-mirror.c.163.com

中國科技大學

https://docker.mirrors.ustc.edu.cn

阿裡雲

https://pee6w651.mirror.aliyuncs.com

Docker ->(個人學習記錄筆記)

以tomcat為例:

下載下傳tomcat鏡像

根據鏡像啟動容器,不加TAG預設latest,如果沒有下載下傳latest會先去下載下傳再啟動

<code>--name</code>:給容器起個名字

<code>-d</code>:背景啟動,不加就是前端啟動,然後你就隻能開一個新的視窗連接配接,不然就望着黑乎乎的視窗,啥也幹不了,<code>Ctrl+C</code>即可退出,當然,容器也會關閉

檢視運作中的容器

停止運作中的容器

檢視所有的容器

啟動容器

删除一個容器

啟動一個做了端口映射的tomcat

<code>-d</code>:背景運作

<code>-p</code>: 将主機的端口映射到容器的一個端口 主機端口(8888):容器内部的端口(8080)

外界通過主機的8888端口就可以通路到tomcat,前提是8888端口開放

關閉防火牆

檢視容器的日志

Docker ->(個人學習記錄筆記)

以mysql為例:

<code>--name mysql</code>:容器的名字是mysql;

<code>MYSQL_ROOT_PASSWORD=root</code>:root使用者的密碼是root (必須指定)

連接配接容器内mysql

在使用 -d 參數時,容器啟動後會進入背景。此時想要進入容器,可以通過以下指令進入:

<code>docker attach</code>

<code>docker exec</code>:推薦使用 docker exec 指令,因為此退出容器終端,不會導緻容器的停止。

<code>-i</code>: 互動式操作。

<code>-t</code>: 終端。

<code>mysql</code>: 名為<code>mysql</code>的鏡像。

<code>bash</code>:放在鏡像名後的是指令,這裡我們希望有個互動式 <code>Shell</code>,是以用的是<code>bash</code>,也可以用<code>/bin/bash</code>。

連接配接上以後就可以正常使用mysql指令操作了

直接使用端口映射更加友善

Docker ->(個人學習記錄筆記)
docker 指令隻能由root使用者運作,普通使用者還需要加上sudo指令。在第三方開發工具中無法使用docker插件
docker守護程序啟動的時候,會預設賦予名為docker的使用者組讀寫Unix socket的權限,是以隻要建立docker使用者組,并将目前使用者加入到docker使用者組中,那麼目前使用者就有權限通路Unix socket了,進而也就可以執行docker相關指令
安裝docker已經建立了docker使用者組,隻需要将使用者加入到docker組即可