Centos7 安裝Docker,常用命令,設定國內阿里雲映象,並且在docker中安裝Mysql

大樹先生.發表於2020-12-25


前言

今天,我來學習一下什麼是Docker


一、Docker是什麼?

我記得有人說過這樣一個例子,

假如說我想住在海邊,那麼我需要一個房子(Docker容器),
這個房子裡面需要有床,有沙發,有桌子等等…(各種軟體環境)
住了一段時間之後,天冷了,我想搬到內陸去居住了,那麼這個時候應該怎麼搬家呢
現實情況是:我需要先把海邊的房子拆了,在內陸建好房子,再把傢俱一個個搬過去。 這樣耗時耗力。
(ps:其實現實就是這樣,但是軟體我們有捷徑,我們可以直接把整個房子(容器)搬過去)

所以就像我們在系統上安裝好了各種軟體,哪一天這套系統不能用了,或者像去其他電腦上部署一份,那麼例如mysql、redis什麼的都要重新安裝一份,甚至一個mysql萬一安裝錯誤又得重灌系統。

這個時候docker就誕生了,他給每一個軟體一個盒子(容器),你在這個容器裡隨你折騰,壞了大不了我再打一個盒子,每次遷移的時候我可以直接把整個盒子搬走。每個盒子之間都是獨立的,相互隔離。互不影響在這裡插入圖片描述

每次使用的時候,我們去市場(映象市場)拉下來這樣一個盒子(容器 )就行

二、使用步驟

1.映象倉庫

假如我們要安裝Nginx,可以直接搜,例如:在這裡插入圖片描述

2.安裝Docker

進入docker官方文件,獲取docker

https://docs.docker.com/
docker有社群版和企業版兩個版本,社群版是免費的,企業版是收費的。其實社群版就夠用了
點進去社群版之後找到自己需要安裝的作業系統,然後根據文件一步步安裝就行,如下圖所示:
在這裡插入圖片描述
這裡我把主要的幾個安裝命令給複製下來了,不想去官方文件 的照著這個安裝也可以。

1、Uninstall old versions(解除安裝舊版本docker)

 sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2、安裝依賴的包

 sudo yum install -y yum-utils

3、設定docker映象安裝地址

 sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

4、安裝docker引擎、docker客戶端、docker容器

sudo yum install docker-ce docker-ce-cli containerd.io

然後一路確認就按照完成了

5、啟動docker

sudo systemctl start docker

檢視docker版本資訊:
docker -v  

6、設定docker開啟自啟動

sudo systemctl enable docker

7、設定docker國內阿里雲加速

開啟阿里雲控制檯的容器映象服務,找到映象加速器
在這裡插入圖片描述
這裡我也複製出來了:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://這裡填寫你的映象地址.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

三、Docker安裝MySQL

1、從映象倉庫拉取mysql

注意:如果不加 :5.7 ,會預設下載最新版本的,加冒號是置頂版本,
拉取的映象相信版本資訊去上面所說的docker hub上面找。

docker pull mysql:5.7

下載完成後用

docker images

檢視已經拉取過來的映象資訊
在這裡插入圖片描述

2、建立例項並啟動

sudo docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

引數說明:

-p 3306:3306 將容器的3306埠對映到主機的3306埠
-v /mydata/mysql/log:/var/log/mysql \ 將日誌檔案掛載到主機 -v
/mydata/mysql/data:/var/lib/mysql \ 將配置檔案掛載到主機 -v
/mydata/mysql/conf:/etc/mysql \ 將配置檔案掛載到主機
-e MYSQL_ROOT_PASSWORD=root \ 設定mysql的密碼

掛載:相當於windows系統裡面的快捷方式

3、檢視正在執行中的容器

docker ps

4、進入容器內部命令

docker exec -it mysql /bin/bash

5、修改mysql的字元編碼配置為utf8

進入第二步建立的/mydata/mysql/資料夾,可以看到我們建立的log、data、conf三個資料夾
所以:

使用
vi /mydata/mysql/conf/my.conf
編輯配置檔案。
複製以下命令進去後儲存退出

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

6、重啟mysql使配置生效

docker restart mysql

7、設定啟動docker時,即執行mysql

docker update mysql --restart=always

總結

到這裡就算安裝完成了,相信現在你也應該對docker有一個初步的認識了,如果還有什麼疑問,

請在評論區告訴我!
請在評論區告訴我!
請在評論區告訴我!

相關文章