Docker(應(yīng)用容器引擎)的安裝與基本操作——Docker系列文章(一)

文 | 平哥 日期 | 20201112

一、Docker簡介

Docker 是基于 Go 語言實現(xiàn)的開源容器項目。期望達到使項目運行環(huán)境“一次封裝,到處運行”的目的。

學習Docker主要目的是能夠做兩件事情:
1.在Docker安裝軟件
2.把項目部署到Docker

Docker架構(gòu):


image

Docker 是通過安裝在宿主機上的Daemon后臺程序來接收客戶端命令,創(chuàng)建容器實例,從遠程鏡像倉庫中心拉取或創(chuàng)建鏡像。

二、Docker安裝與啟動

Docker有windows和linux版本。本次操作以安裝在Linux上進行演示的。
以下安裝步驟基于CentOS8,需要確保該虛擬機可以連接外網(wǎng)。

1.Docker 安裝

Step 1 上傳安裝包

Docker的安裝可以分為在線安裝和本地安裝,由于需要連接Docker官網(wǎng),網(wǎng)速感人且極易失敗,于是我采用的是本地安裝。
具體安裝包:
鏈接: https://pan.baidu.com/s/1QYwLE0kkm6NfeHDQesmOog 密碼: ljsk

將下載好的安裝包上傳至CentOS中:


image

Step 2 安裝依賴和Docker

使用 yum localinstall 命令分別安裝:
1、先安裝 containerd.io:

# yum localinstall containerd.io-1.2.6-3.3.fc30.x86_64.rpm 

2、安裝 docker-ce:

# yum localinstall -y libcgroup
# yum localinstall -y docker-ce-cli-19.03.12-3.el7.x86_64.rpm
# yum localinstall -y docker-ce-19.03.12-3.el7.x86_64.rpm

Step 3 啟動并檢查Docker

啟動命令:

# systemctl start docker

查看docker信息:

# docker info

結(jié)果如圖:


image

Step 4 阿里云鏡像加速器配置

默認情況下Docker從Docker Hub上下載鏡像資源,但速度很慢,可以通過配置國內(nèi)的鏡像加速器來解決。
登錄阿里云控制臺,輸入“容器鏡像服務(wù)”進行搜索,點擊“鏡像加速器”:


image

在安裝好的Docker的服務(wù)器上,按照頁面說明配置daemon.json配置文件并重啟即配置完成。

三、Docker鏡像操作

3.1 列出本地所有鏡像

命令:

# docker images

結(jié)果如圖:


image

結(jié)果解釋:
REPOSITORY:鏡像所在的倉庫名稱
TAG:鏡像標簽(其實就是版本)
IMAGE ID:鏡像ID
CREATED:鏡像的創(chuàng)建日期(不是獲取該鏡像的日期)
SIZE:鏡像大小

3.2 搜索遠程鏡像

若本地沒有需要的鏡像,則可以去遠程鏡像倉庫中心進行搜索,命令:

# docker search mysql

結(jié)果如圖:


image

結(jié)果解釋:
NAME:倉庫名稱
DESCRIPTION:鏡像描述
STARS:用戶評價,反應(yīng)一個鏡像的受歡迎程度
OFFICIAL:是否官方
AUTOMATED:自動構(gòu)建,表示該鏡像由Docker Hub自動構(gòu)建流程創(chuàng)建的

3.3 拉取鏡像

使用如下命令,即可從遠程鏡像倉庫中拉取鏡像:

docker pull mysql:latest

四、Docker容器操作

可以將Docker容器看成是最簡單的Linux環(huán)境(包括系統(tǒng)內(nèi)核、root用戶權(quán)限、進程空間、網(wǎng)絡(luò)空間和用戶空間)和運行在其中的應(yīng)用程序(比如MySQL)。

4.1 新建容器

命令:

docker create [options] 鏡像名稱或ID

例如:

# docker create --name mysqlgcp -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root mysql:latest

參數(shù)說明:
--name:用于給創(chuàng)建的容器重命名
-p:宿主機和docker容器的端口映射,hostPort:containerPort
-e:設(shè)置參數(shù)
有可能會用-v:主機和容器的目錄映射關(guān)系,":"前為主機目錄,之后為容器目錄

以上容器創(chuàng)建,但未運行。

4.2 查看容器

以下命令查看本地正在運行的容器:

# docker container ls

若想查看所有已經(jīng)創(chuàng)建的容器,即包括未運行的容器(如4.1創(chuàng)建的容器),加入-l參數(shù):

# docker container ls -l

結(jié)果:


image

其他常用參數(shù)說明:
-n 數(shù)字:顯示最近n個創(chuàng)建的容器
-a:列出所有的運行過的容器
-q:列出容器id

4.3 啟動容器

使用以下命令啟動已創(chuàng)建的容器:

# docker start mysqlgcp
或:
# docker start 52bdd1defcd8

即可以使用容器名稱或容器ID

4.4 與運行中的容器交互

使用如下命令與運行中的容器進行交互:

# docker exec [option] 容器ID [command]

例如:

docker exec -it 52bdd1defcd8 /bin/bash

參數(shù)說明:
-i:以交互模式運行容器,通常與-t連用
-t:為容器重新分配一個偽終端,通常與-i連用

效果如圖:


image

從容器終端中退出,使用exit命令

4.5 停止容器

命令如下:

# docker stop 容器名稱或容器ID

4.6 創(chuàng)建并運行容器

命令如下:

# docker run [options] 鏡像名稱或鏡像ID [COMMAND] [ARG...]

具體命令舉例如下:

# docker run -p 3307:3306 --name mysqlgcp -e MYSQL_ROOT_PASSWORD=root -d mysql:latest
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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