欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何使用Docker安裝Redis和Mysql

本篇內(nèi)容介紹了“如何使用Docker安裝redis和MySQL”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

成都創(chuàng)新互聯(lián)從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元港南做網(wǎng)站,已為上家服務(wù),為港南各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792

最近準(zhǔn)備寫如何實(shí)現(xiàn)分布式鎖的文章,實(shí)現(xiàn)分布式鎖可以借助數(shù)據(jù)庫(kù)、緩存和Zoopkpeer實(shí)現(xiàn)。在實(shí)現(xiàn)代碼時(shí)就需要安裝以上軟件。于是就想到使用docker來簡(jiǎn)化我的安裝,并可以正好學(xué)習(xí)一下Docker相關(guān)知識(shí),本篇文章就介紹下如何使用Docker安裝Mysql/Reids/Zookeeper。

關(guān)于docker的安裝教程很多,不同的操作系統(tǒng)也不一樣,這里不再贅述。如果僅是個(gè)人研究和學(xué)習(xí),在mac上安裝建議大家使用docker for mac安裝,https://store.docker.com/editions/community/docker-ce-desktop-mac

Docker基礎(chǔ)概念

在使用Docker之前,我們先了解下幾個(gè)Docker的核心概念

Docker Daemon

Docker引擎,就是運(yùn)行在后臺(tái)的一個(gè)守護(hù)進(jìn)程,在我們啟動(dòng)它之后,我們就可以通過Docker客戶端發(fā)送相關(guān)Docker的命令。

Docker Images

Docker鏡像,這個(gè)就類似于我們?cè)诎惭bWindows時(shí)的鏡像,只不過windows的鏡像,在以前我們通常存在光盤上或者U盤里,這里的鏡像我們通常會(huì)發(fā)布到Docker Registry

Docker Containers

Docker容器,在獲取到Docker鏡像之后,我們可以運(yùn)行該鏡像,此時(shí)便會(huì)啟動(dòng)一個(gè)Docker容器,該容器中運(yùn)行鏡像中的程序。如果把Docker鏡像理解為一個(gè)類的話,那么Docker容器就是一個(gè)實(shí)例

Docker Client

Docker客戶端,我們安裝完Docker之后,我們打開終端使用docker 相關(guān)命令進(jìn)行操作,這些命令便是Docker客戶端的命令,另外還有一個(gè)基于REST API的Docker客戶端,REST API一般用于在開發(fā)一些基于Docker運(yùn)維的系統(tǒng)中使用。

Docker Registry

Docker鏡像注冊(cè)中心,Docker的官網(wǎng)的注冊(cè)中心為http://hub.docker.com。我們也可以自己搭建自己的注冊(cè)中心。

以上是Docker的核心概念,下面我們來看如何使用Docker安裝Redis、Zookeeper、Mysql,并在過程中,學(xué)習(xí)使用Docker Client的一些常用命令

Redis

查找鏡像

使用以下命令在Docker Hub搜索Redis鏡像

docker search redis

執(zhí)行以上命令,會(huì)搜索出所有帶redis關(guān)鍵字的鏡像(為減少篇幅,僅展示部分結(jié)果)

yanyanwangdeMacBook-Pro:~ yanyan.wang$ docker search redis
NAME                      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
redis                     Redis is an open source key-value store th...   3788      [OK]
bitnami/redis             Bitnami Redis Docker Image                      47                   [OK]
torusware/speedus-redis   Always updated official Redis docker image...   32                   [OK]

其中Name表示鏡像倉(cāng)庫(kù)的名稱,如果不帶/則表示Docker官方倉(cāng)庫(kù),帶/則表示其他用戶公開的鏡像。OFFICIAL表示是否為官方倉(cāng)庫(kù),一般我們推薦使用官方的倉(cāng)庫(kù)。

拉取鏡像

我們使用以下命令拉取,Redis的鏡像

docker pull redis:latest

其中redis:latest表示我們下載NAME為redis的鏡像,latest表示TAG

在執(zhí)行完以上命令之后,Docker Client會(huì)從Docker鏡像注冊(cè)中心下載Redis的鏡像,待下載之后,我們查看本地的鏡像

列出所有鏡像

我們使用以下命令查看,本地的redis鏡像

docker images

執(zhí)行以上命令,就會(huì)顯示本地的所有鏡像

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
redis               latest              a858478874d1        10 days ago         184 MB

其中IMAGE ID表示鏡像ID,具有唯一性

創(chuàng)建并啟動(dòng)容器

使用以下命令,使用Reids鏡像,創(chuàng)建并啟動(dòng)Redis容器

docker run -p 6379:6379 -v $PWD/data:/data  -d redis:latest redis-server --appendonly yes

執(zhí)行以上命令,我們就使用redis:latest鏡像創(chuàng)建并啟動(dòng)了一個(gè)Redis容器,其中

-p 6379:6379:將容器的6379端口映射成主機(jī)的6379端口

-v $PWD/data:/data :將主機(jī)中當(dāng)前目錄下的data掛載到容器的/data

redis-server --appendonly yes : 在容器執(zhí)行redis-server啟動(dòng)命令,并打開redis持久化配置

查看容器啟動(dòng)情況

使用以下命令查看所有容器

docker ps

執(zhí)行以上命令,輸出如下

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
07f0edc95fb3        redis:latest        "docker-entrypoint..."   2 minutes ago       Up 2 minutes        0.0.0.0:6379->6379/tcp   quirky_davinci

其中Status表示運(yùn)行狀態(tài),Up表示運(yùn)行中,PORTS表示容器需要對(duì)外暴露的端口號(hào)

連接、查看容器

我們使用Redis鏡像使用redis-cli客戶端,連接到redis容器

docker run -it redis:latest redis-cli -h 192.168.0.101

執(zhí)行以上命令,我們就連接到redis容器,接下來我們就可以使用redis命令進(jìn)行操作

192.168.0.101:6379> set "testKey" "test"
OK
192.168.0.101:6379> get "testKey"
"test"
192.168.0.101:6379>

至此,我們已經(jīng)完成了Reids的安裝。

Zookeeper

接下來我們安裝zookeeper,我們使用和redis相同的方法。直接使用最少的步驟安裝,不再做過多解釋

查找zookeeper鏡像

docker search zookeeper

查找結(jié)果如下:

NAME                           DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
jplock/zookeeper               Builds a docker image for Zookeeper versio...   160                  [OK]
zookeeper                      Apache ZooKeeper is an open-source server ...   157       [OK]
mesoscloud/zookeeper           ZooKeeper                                       70                   [OK]
digitalwonderland/zookeeper    Latest Zookeeper - clusterable                  14                   [OK]
springxd/zookeeper             A Docker image that can run a ZooKeeper se...   6                    [OK]

拉取鏡像

docker pull zookeeper

創(chuàng)建并啟動(dòng)容器

docker run -p 2181:2181 -v $PWD/data:/data  -d zookeeper:latest

使用zookeeprt鏡像創(chuàng)建并啟動(dòng)容器,我們把容器的2181映射到機(jī)器的2181上,同樣把當(dāng)前目錄的data 掛載到容器的/data

查看當(dāng)前容器列表

yanyanwangdeMacBook-Pro:zookeeper yanyan.wang$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                        NAMES
44b43e486817        zookeeper:latest    "/docker-entrypoin..."   24 minutes ago      Up 24 minutes       2888/tcp, 0.0.0.0:2181->2181/tcp, 3888/tcp   mystifying_wing
2358c79358d6        redis:latest        "docker-entrypoint..."   About an hour ago   Up About an hour    0.0.0.0:6379->6379/tcp                       fervent_lamarr

進(jìn)入容器

docker exec -it 44b43e486817 /bin/bash

進(jìn)入容器之后,ls查看操作目錄,可以查看下有哪些目錄

bash-4.3# ls
LICENSE.txt                bin                        dist-maven                 lib                        zookeeper-3.4.10.jar.asc
NOTICE.txt                 build.xml                  docs                       recipes                    zookeeper-3.4.10.jar.md5
README.txt                 conf                       ivy.xml                    src                        zookeeper-3.4.10.jar.sha1
README_packaging.txt       contrib                    ivysettings.xml            zookeeper-3.4.10.jar

Mysql

接下來我們安裝Mysql,和以上直接從docker注冊(cè)中心拉取鏡像不同。我們首先構(gòu)建自己的mysql鏡像,然后在創(chuàng)建并啟動(dòng)容器

構(gòu)建鏡像

編寫Dockerfile文件

我們可以使用Dockerfile來快速的構(gòu)建。Dockerfile實(shí)際上就是一種編寫Docker鏡像的腳本,Dockerfile腳本有固定的格式,通過這些固定的格式,我們可以編寫不同需求的Docker鏡像。以下是構(gòu)建Mysql鏡像的腳本以及腳本的含義

## 設(shè)置基礎(chǔ)鏡像
FROM mysql:latest

## 設(shè)置維護(hù)者信息
MAINTAINER yywang <wangyan9110@163.com>

## 設(shè)置描述信息
LABEL Descripttion="This image is build for MAC to use mysql" Vendor="GitHub" Version="latest"
## 設(shè)置鏡像制作過程中,需要執(zhí)行的命令
RUN apt-get update
RUN apt-get -y install vim
RUN usermod -u 1000 mysql
RUN mkdir -p /var/run/mysqld
RUN chmod -R 777 /var/run/mysqld

其中FROM 表示設(shè)置基礎(chǔ)鏡像指令,該指令有固定的格式,即“倉(cāng)庫(kù)名:標(biāo)簽名”,RUN 表示在鏡像構(gòu)建過程中,需要執(zhí)行的命令。

把以上腳本保存在一個(gè)叫Dockerfile的文件下,這時(shí)mysql鏡像的Dockfile的腳本就完成了。

構(gòu)建mysql鏡像

在Dockerfile文件的同一目錄下輸入如下命令:

docker build -t yywang/mysql-osx:latest .

其中-t 指定了鏡像的名稱,. 這一點(diǎn)表示讀取當(dāng)前目錄下的Dockerfile文件

查看鏡像

在執(zhí)行完成以上命令后,我們查看當(dāng)前鏡像

yanyanwangdeMacBook-Pro:zookeeper yanyan.wang$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
yywang/mysql-osx    latest              38c6579b6f70        4 minutes ago       446 MB

可以看出yywang/mysql-osx就是我們剛剛構(gòu)建的鏡像

創(chuàng)建并啟動(dòng)容器

創(chuàng)建并啟動(dòng)mysql容器

接下來我們就創(chuàng)建并啟動(dòng)mysql容器

docker run -d -h mysql \
  -v $PWD/mysql:/var/lib/mysql \
  -p 0.0.0.0:3306:3306 --name mysql \
  -e MYSQL_ROOT_PASSWORD=123456 yywang/mysql-osx

其中-e 表示設(shè)置mysql的root賬戶密碼為123456

連接、查看容器

我們使用Mysql鏡像的mysql客戶端,連接到mysql容器

docker run -it yywang/mysql-osx mysql -h292.168.0.101 -uroot -p123456

登錄完成后,我們就可以使用mysql的命令操作mysql

mysql> select GET_LOCK("testKey",0);
+-----------------------+
| GET_LOCK("testKey",0) |
+-----------------------+
|                     1 |
+-----------------------+
1 row in set (0.01 sec)

mysql> select RELEASE_LOCK("testKey");
+-------------------------+
| RELEASE_LOCK("testKey") |
+-------------------------+
|                       1 |
+-------------------------+
1 row in set (0.00 sec)

至此Mysql的安裝也已經(jīng)完成。

“如何使用Docker安裝Redis和Mysql”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

文章標(biāo)題:如何使用Docker安裝Redis和Mysql
當(dāng)前地址:http://chinadenli.net/article48/ppdcep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站虛擬主機(jī)軟件開發(fā)網(wǎng)站營(yíng)銷電子商務(wù)服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站