亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

docker上部署MySQL的示例

 更新時(shí)間:2021年04月02日 10:36:09   作者:DBA隨筆  
這篇文章主要介紹了docker上部署MySQL的示例,幫助大家更好的理解和學(xué)習(xí)使用docker,感興趣的朋友可以了解下

     容器云的概念現(xiàn)在很火,現(xiàn)在很多公司都把MySQL部署在容器上,開(kāi)始今天內(nèi)容之前,我們先來(lái)看看容器云的概念吧。

1 容器云是什么?

   要理解容器云的概念,首先需要了解容器,容器的介紹過(guò)程中,需要引入虛擬機(jī)來(lái)進(jìn)行對(duì)比。

虛擬機(jī):

    VMware或者Virtual BoX這種虛擬機(jī)想必大家在日常工作中都有用到過(guò),它是模擬計(jì)算機(jī)操作系統(tǒng)的軟件,你可以在windows計(jì)算機(jī)上安裝Virtual BoX軟件,然后在Virtual Box上安裝Centos或者Ubuntu這種Linux操作系統(tǒng),從而在一臺(tái)機(jī)器上運(yùn)行多種類型的多個(gè)操作系統(tǒng),讓我們開(kāi)發(fā)測(cè)試工作變得很方便。

虛擬機(jī)的缺點(diǎn)是需要消耗大量資源,每個(gè)虛擬機(jī)都需要單獨(dú)分配內(nèi)存和磁盤(pán)空間,還要消耗CPU資源以及很多底層硬件資源,如果你只是在上面用程序跑了一個(gè)hello world,那么會(huì)造成資源的大量浪費(fèi)。

容器:

      容器的出現(xiàn),就是為了解決這個(gè)問(wèn)題,它是一種更加輕量,更加靈活的虛擬化處理技術(shù),它將一個(gè)應(yīng)用程序所需要的所有資源打包在一起,包含應(yīng)用程序的code源碼、依賴庫(kù)以及操作系統(tǒng),這讓?xiě)?yīng)用程序在任何地方都可以輕易的運(yùn)行,不再受到環(huán)境的制約。

    和虛擬機(jī)相比,容器更加輕量、可移植性更好、成本更低,更高效。

容器云可以理解為云上的容器技術(shù)服務(wù)。

2 docker簡(jiǎn)介

  docker是一個(gè)開(kāi)源的應(yīng)用容器引擎,我們可以將它理解為一個(gè)工具,它基于go語(yǔ)言開(kāi)發(fā),并且兼容apache2.0協(xié)議,它可以將應(yīng)用程序及其依賴(如配置文件等)打包到容器中。

   除此之外,它兼容多種環(huán)境,可以被部署在在筆記本電腦,內(nèi)部服務(wù)器,公共云或私有云,可移植性很好,部署也非常靈活,解決了多種環(huán)境下的兼容性問(wèn)題。

Docker 包括三個(gè)基本概念:

鏡像(Image)
容器(Container)
倉(cāng)庫(kù)(Repository)

這三部分組成了Docker的整個(gè)生命周期,如上圖所示。

docker鏡像包含了文件系統(tǒng),類似于虛擬機(jī)的鏡像,它是只讀的模板。

docker容器是由鏡像實(shí)例化而來(lái)的,這和我們學(xué)習(xí)的面向?qū)ο蟮母拍钍窒嗨?,我們可以把鏡像想象成類,把容器想象成類經(jīng)過(guò)實(shí)例化后的對(duì)象,這樣就非常好理解鏡像和容器的關(guān)系了。

docker倉(cāng)庫(kù):類似與代碼倉(cāng)庫(kù),是Docker集中存放鏡像文件的場(chǎng)所

這個(gè)關(guān)系可以更加清楚的表述為:

下面我們來(lái)看docker的安裝:

1、安裝所需要的軟件包,其中yum-utils 提供了 yum-config-manager  ,并且 device mapper 存儲(chǔ)驅(qū)動(dòng)程序需要 device-mapper-persistent-data 和 lvm2

yum install-y  yum-utils
yum install-y  device-mapper-persistent-data
yum install-y  lvm2

2、設(shè)置穩(wěn)定的docker倉(cāng)庫(kù)

yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、安裝Docker Engine-Community、

yum install docker-ce docker-ce-cli cotainerd.io

此時(shí),Docker 安裝完默認(rèn)未啟動(dòng)。并且已經(jīng)創(chuàng)建好 docker 用戶組,但該用戶組下沒(méi)有用戶。

3 使用docker安裝MySQL

   使用docker安裝mysql服務(wù)非常簡(jiǎn)單,總體步驟就下面幾步:

1、下載MySQL鏡像

可以登錄到docker的官方倉(cāng)庫(kù)中尋找mysql的鏡像,網(wǎng)址如下:https://hub.docker.com/_/mysql?tab=tags 

也可以直接使用docker的命令去下載MySQL鏡像

yum pull mysql:5.7.16

上面的命令表示我們要下載MySQL5.7.16的鏡像。如果我們不寫(xiě)最后的版本號(hào),則默認(rèn)拉取最新的MySQL版本鏡像

2、啟動(dòng)MySQL。

拉取完畢之后,我們可以通過(guò)下面的命令來(lái)啟動(dòng)MySQL實(shí)例:

docker run -itd --name mysql_5716 -p 3306:3306  -e MYSQL_ROOT_PASSWORD=yeyazhou mysql_5716

其中:

-i:以交互模式運(yùn)行容器

-t:為容器重新分配一個(gè)偽輸入終端

-d:后臺(tái)運(yùn)行容器

-p 3306:3306 :映射容器服務(wù)的 3306 端口到宿主機(jī)的 3306 端口,外部主機(jī)可以直接通過(guò) 宿主機(jī)ip:3306 訪問(wèn)到 MySQL 的服務(wù)。

MYSQL_ROOT_PASSWORD=yeyazhou:設(shè)置 MySQL 服務(wù) root 用戶的密碼。

3、查看容器的運(yùn)行狀態(tài)

container id:容器的id號(hào)

其他信息包括容器的源鏡像,創(chuàng)建時(shí)間,狀態(tài),端口映射信息,容器名字等。

4、進(jìn)入容器查看

首先我們使用命令進(jìn)入容器的交互式命令行:

docker exec -it mysql_5716 /bin/bash

運(yùn)行結(jié)果如下

root@8c388ccfb761:/# ls -l
total 72
drwxr-xr-x   1 root root 4096 Nov  8  2016 bin
drwxr-xr-x   2 root root 4096 Sep 12  2016 boot
drwxr-xr-x   5 root root  360 Aug 11 11:41 dev
drwxr-xr-x   2 root root 4096 Nov  8  2016 docker-entrypoint-initdb.d
lrwxrwxrwx   1 root root   34 Nov 23  2016 entrypoint.sh -> usr/local/bin/docker-entrypoint.sh
drwxr-xr-x   1 root root 4096 Aug 11 11:41 etc
drwxr-xr-x   2 root root 4096 Sep 12  2016 home
drwxr-xr-x   1 root root 4096 Nov  8  2016 lib
drwxr-xr-x   2 root root 4096 Nov  4  2016 lib64
drwxr-xr-x   2 root root 4096 Nov  4  2016 media
drwxr-xr-x   2 root root 4096 Nov  4  2016 mnt
drwxr-xr-x   2 root root 4096 Nov  4  2016 opt
dr-xr-xr-x 104 root root    0 Aug 11 11:41 proc
drwx------   1 root root 4096 Aug 11 11:49 root
drwxr-xr-x   1 root root 4096 Nov  8  2016 run
drwxr-xr-x   2 root root 4096 Nov  4  2016 sbin
drwxr-xr-x   2 root root 4096 Nov  4  2016 srv
dr-xr-xr-x  13 root root    0 Jul 19 02:47 sys
drwxrwxrwt   1 root root 4096 Aug 11 11:41 tmp
drwxr-xr-x   1 root root 4096 Nov 23  2016 usr
drwxr-xr-x   1 root root 4096 Nov  8  2016 var

可以看到進(jìn)入了容器交互式命令行。前面的root@8c388ccfb761中@符號(hào)后面的字符串就是我們的容器ID。

5、使用連接串連接MySQL

root@8c388ccfb761:/usr/local# mysql -uroot -pyeyazhou -h127.0.0.1
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 5.7.16 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

6、啟動(dòng)另外一個(gè)MySQL容器

[root@VM-0-14-centos ~]# docker run -itd -p 3307:3306 --name mysql_5716_2 -e MYSQL_ROOT_PASSWORD=yeyazhou  mysql:5.7.16  
e5e0f9a14462261d01307c4d0891587acce90e4ffd33e434878f311bf98d4f22
 
[root@VM-0-14-centos ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
e5e0f9a14462        mysql:5.7.16        "docker-entrypoint.s…"   8 seconds ago       Up 6 seconds        0.0.0.0:3307->3306/tcp   mysql_5716_2
8c388ccfb761        mysql:5.7.16        "docker-entrypoint.s…"   25 hours ago        Up 25 hours         0.0.0.0:3306->3306/tcp   mysql_5716

以上就是docker上部署MySQL的示例的詳細(xì)內(nèi)容,更多關(guān)于docker上部署MySQL的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • docker run -e傳遞環(huán)境變量的過(guò)程

    docker run -e傳遞環(huán)境變量的過(guò)程

    這篇文章主要介紹了docker run -e傳遞環(huán)境變量的過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-01-01
  • centos修改docker網(wǎng)絡(luò)配置方法分享

    centos修改docker網(wǎng)絡(luò)配置方法分享

    本文給大家分享的是centos修改docker網(wǎng)絡(luò)配置的方法,非常的實(shí)用,有需要的小伙伴可以參考下
    2017-03-03
  • Docker中的鏡像詳細(xì)介紹

    Docker中的鏡像詳細(xì)介紹

    這篇文章主要介紹了Docker中的鏡像詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • 教你使用Docker?Compose一鍵部署前后端分離項(xiàng)目

    教你使用Docker?Compose一鍵部署前后端分離項(xiàng)目

    Compose是一個(gè)定義和管理多容器的工具,使用Python語(yǔ)言編寫(xiě),下面這篇文章主要給大家介紹了關(guān)于如何使用Docker?Compose一鍵部署前后端分離項(xiàng)目的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • 如何修改docker官方鏡像內(nèi)部?jī)?nèi)容并重新build鏡像

    如何修改docker官方鏡像內(nèi)部?jī)?nèi)容并重新build鏡像

    這篇文章主要介紹了如何修改docker官方鏡像內(nèi)部?jī)?nèi)容并重新build鏡像問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 解決docker搭建gitlab時(shí)容器不停重啟的問(wèn)題

    解決docker搭建gitlab時(shí)容器不停重啟的問(wèn)題

    這篇文章主要介紹了docker搭建gitlab時(shí)容器不停重啟的問(wèn)題,當(dāng)用docker log 查看日志時(shí),發(fā)現(xiàn)問(wèn)題是在于配置文件沒(méi)有權(quán)限創(chuàng)建的問(wèn)題,本文給大家分享解決方案,感興趣的朋友一起看看吧
    2022-05-05
  • docker存儲(chǔ)目錄遷移示例教程

    docker存儲(chǔ)目錄遷移示例教程

    隨著docker的使用時(shí)間越來(lái)越長(zhǎng),導(dǎo)致鏡像和容器越來(lái)越多,占滿了系統(tǒng)盤(pán)空間,這時(shí),我們需要給它們搬個(gè)家了,這篇文章主要介紹了docker存儲(chǔ)目錄遷移教程,需要的朋友可以參考下
    2023-06-06
  • 解決Docker中的error during connect異常情況

    解決Docker中的error during connect異常情況

    這篇文章主要介紹了解決Docker中的error during connect異常情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • Docker掛載資料卷保存MySQL數(shù)據(jù)

    Docker掛載資料卷保存MySQL數(shù)據(jù)

    這篇文章介紹了Docker掛載資料卷保存MySQL數(shù)據(jù)的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • Docker部署Django應(yīng)用的示例

    Docker部署Django應(yīng)用的示例

    這篇文章主要介紹了Docker部署Django應(yīng)用的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08

最新評(píng)論