Docker的安裝與基本操作詳解(基於Centos7.5)

Docker的安裝與基本操作詳解(基於Centos7.5)

0.前言

全文基於阿里雲CES服務器,系統版本centos7.5。版本不同可能有未知BUG…
該文是觀看教學視頻後的總結與實踐:視頻資源源自B站尚硅谷官方

1.Docker簡介與核心概念

1.1 Docker簡介

Docker 是一個基於Go 語言,開源的應用容器引擎。

Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後發佈到任何流行的 Linux 機器上,也可以實現虛擬化。機制類似於鏡像系統。

容器是完全使用沙箱機制,容器之間互不影響,而且容器性能開銷極低。

Docker支持將軟件編譯成一個鏡像,然後在鏡像中各種軟件做好配置,其他使用者便可直接使用該鏡像而只需進行極少的配置(比如使用MySQL鏡像配置MySQL密碼和端口映射)。

1.2 Docker核心概念

  • docker主機:安裝了docker的機器
  • doucker客戶端:連接docker進行操作
  • docker倉庫:保存打包好鏡像的倉庫(官方/個人)
  • docker鏡像:軟件打包好的鏡像
  • docker容器:docker鏡像啓動後就是一個容器(容器就相當於平常的軟件,容器啓動關閉就是軟件的啓動關閉)

2.Docker的安裝(centos7.5)

2.1 使用命令查看內核版本

Docker要求CentOS系統的內核版本高於3.10

uname -r

2.2 升級yum

yum update

2.3 安裝docker

yum install docker

2.4 啓動docker

systemctl start docker

2.5 置開機docker自啓動

systemctl enable docker

2.6 查看docker狀態

systemctl status docker

2.7 重啓docker

systemctl restart docker

2.8 查看docker概要信息

docker info

2.9 查看docker幫助文檔

docker --help

3.Docker常用操作之鏡像操作

3.1 搜索軟件鏡像

實際上就是https://hub.docker.com網站上的內容

docker search mysql

搜索鏡像

3.2 拉取鏡像

默認下載最新的鏡像
docker pull mysql

選擇版本
docker pull mysql:5.5

安裝MySQL5.5

3.3 查看本地已有鏡像

docker images

查看本地鏡像

3.4 刪除本地鏡像

docker rmi IMAGE ID(鏡像id,上圖有)

4.Docker常用操作之容器操作

將下載好的鏡像運行,便產生了相對應的容器。(相當於正運行的軟件)

4.1 運行容器

docker run --name 自定義的容器名 -d image-name(指定要運行的容器名稱)

–name後面是自定義的容器名,-d代表後臺運行,image-name即需要運行的鏡像名稱

以上述安裝的MySQL5.5鏡像爲例子,運行的指令爲:

docker run --name piao-mysql -d mysql:5.5

後續在 5.Docker安裝MySQL 詳細描述

4.2 查看正在運行的容器

docker ps

會返回一個正在運行的容器列表:

CONTAINER ID 容器ID

IMAGE 鏡像

COMMAND 命令相關

CREATED 創建時間

STATUS 運行狀態

PORTS 端口映射

NAMES 自己取得容器名稱

docker ps查看運行中的容器

查看運行中的容器

4.3 停止容器

docker stop 容器id(上述docker ps命令返回的列表中有)

4.4 查看所有容器(運行的和沒運行的)

docker ps -a

4.5 刪除容器(需先停止容器)

docker rm 容器id(上述docker ps命令返回的列表中有)

4.6 端口映射

配合容器運行指令,將系統的端口映射到容器中的端口,格式 -p 系統端口:容器端口

以下爲有端口映射的運行MySQL

docker run -d -p 3306:3306 mysql:5.5

4.7 查看容器日誌

docker logs container-name/container-id(容器名或容器id)

更多命令可參考官方文檔: https://docs.docker.com/

5.Docker安裝MySQL

之前的命令介紹中已經寫過了,這裏總結一下:

5.1 拉取mysql5.5版本的鏡像

docker pull mysql:5.5

5.2 啓動MySQL容器

docker run -p 3306:3306 --name fuyou-mysql-01 -e MYSQL_ROOT_PASSWORD=設置該MySQL密碼 -d mysql:5.5

簡要說明:
-p 3306:3006 即系統端口3306 映射到容器內部端口3306

–name piao-mysql-01 即爲這個容器取的名字

-e MYSQL_ROOT_PASSWORD=設置該MySQL密碼 設置MySQL密碼

-d 後臺運行

最後的mysql:5.5 即本地的mysql:5.5鏡像(5.1中拉取的MySQL鏡像)

MySQL其他操作,可查看官方文檔 https://hub.docker.com/_/mysql

docker運行mysql

5.3 MySQL容器測試:使用navicat連接MySQL

我是用的阿里雲的CES服務器,系統版本centos7.5。首先添加安全組規則:

端口範圍 協議選擇MySQL後默認是3306

授權對象 0.0.0.0/0 所有ip均可訪問

CES配置安全組MySQL.png

使用navicat客戶端連接上述mysql

navicat連接docker中的MySQL容器

發佈了79 篇原創文章 · 獲贊 39 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章