91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker環境怎么構建redis單機容器

發布時間:2021-08-26 16:00:09 來源:億速云 閱讀:169 作者:chen 欄目:云計算

本篇內容主要講解“Docker環境怎么構建redis單機容器”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Docker環境怎么構建redis單機容器”吧!

1   背景介紹

Docker環境怎么構建redis單機容器

     用傳統部署搭建一套redis環境,中間會消耗太多的重復的工作,導致部署效率非常低。例如:申請虛擬機,安裝操作系統,軟件包依賴安裝和redis應用部署,這個過程中間需要花費不少時間,同時在安裝的過程中出現問題也需要花費一些時間去處理。然后傳統方式部署方式可移植性相當差。要想將現有redis遷移到新主機,可不是那么容易的事情,可能最簡單的方式是tar包過去,但是新主機還是需要安裝redis相關的依賴包上去,還需要花些時間去調試redis,中間反反復復的重復工作太浪費時間了。

Docker環境怎么構建redis單機容器

      為了打破傳統部署模式帶來的效率低下問題,我們采用docker容器部署模式,將重復的工作精簡化,也為了方便運維工程師更加快速搭建一套redis環境,redis容器化后能夠解決安裝過程中出現的重復性繁瑣的工作。最終以鏡像的存儲在鏡像倉庫中。只要有需求用到redis服務,可以在任何安裝有docker軟件的主機上面運行redis容器,即可達到需求。Docker容器化后的鏡像即可實現即開即用的效果。


2  鏡像打包流程

Docker環境怎么構建redis單機容器

?  Linux編譯環境:準備一臺能上外網的linux環境,并安裝好docker運行環境。

?  基礎鏡像:在構建應用鏡像前置條件,需要準備一套干凈的centos基礎鏡像,然后在這個基礎鏡像上面去部署redis軟件。

?  配置標準化:按dockerfile的命令格式來編寫,將redis軟件安裝與redis配置步驟寫入到dockerfile文件中。然后準備好運行環境需要的配置文件和對應的運行環境啟動腳本,方便在構建應用鏡像時將這些文件打包到鏡像中。

?  構建應用鏡像:通過編寫dockerfile文件在基礎操作系統鏡像里面將所要運行的所依賴的軟件包和redis軟件部署到鏡像中,最后通過docker命令將其打成一個新的完整鏡像包,下次要用redis就直接下載鏡像部署。

?啟動容器:docker命令啟動容器的過程中會將redis服務啟動。

在Docker中,構建一個自定義鏡像共有兩種方法,一是通過commit指令構建,二是通過Dockerfile文件構建。這里我們推薦第二種方法用dockerfile文件構建redis鏡像。

 Dockerfile基本框架

    Dockfile是一種被Docker程序解釋的腳本,Dockerfile由一條一條的指令組成,每條指令對應Linux下面的一條命令。Docker程序將這些Dockerfile指令翻譯真正的Linux命令。Dockerfile有自己書寫格式和支持的命令,Docker程序解決這些命令間的依賴關系,類似于Makefile。Docker程序將讀取Dockerfile,根據指令生成定制的image。相比image這種黑盒子,Dockerfile這種顯而易見的腳本更容易被使用者接受,它明確的表明image是怎么產生的。有了Dockerfile,當我們需要定制自己額外的需求時,只需在Dockerfile上添加或者修改指令,重新生成image即可,省去了敲命令的麻煩。

    Dockerfile 的內容分為四個部分:基礎鏡像信息、維護者信息、鏡像操作指令和容器啟動時執行指令

操作系統

FROM

按需求選擇不同類型的基礎操作系統鏡像

常用軟件

ADD

選擇運行所需要的常用軟件,如PHP、NGINX,自動設置相應的運行變量

指定用戶

USER

設置啟動容器的用戶,默認是root用戶

執行安裝

RUN

執行針對需求包編寫安裝腳本

切換目錄

WORKDIR

可以多次切換(相當于cd命令)

環境變量

ENV

鏡像中設置環境變量

端口映射

EXPOSE

該指令會將容器中的端口映射成宿主機器中的某個端口

存儲使用

VOLUMN

按需定義外掛目錄(IO要求高,持久化,宿主機間共享等)

啟動運行

ENTRYPOINT

設置指令,指定容器啟動時執行的命令,可以多次設置,但是只有最后一個有效

啟動運行

CMD

容器啟動時需要執行的腳本

4   Redis容器化過程

4.1    Linux編譯環境

    準備一臺centos7虛擬機,并在這臺主機上面安裝Docker軟件,這里以docker版本1.13.1為例,來介紹如何安裝Docker軟件步驟。

#下載docker-engine

wget   https://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-1.13.1-1.el7.centos.x86_64.rpm

#下載docker-engine-selinux

wget   https://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-selinux-1.13.1-1.el7.centos.noarch.rpm

#安裝docker軟件依賴文件

yum   install -y libtool-ltdl policycoreutils-python

#先安裝docker-engine-selinux,再安裝docker-engine-selinux

yum   localinstall docker-engine-selinux-1.13.1-1.el7.centos.noarch.rpm -y

yum   localinstall docker-engine-1.13.1-1.el7.centos.x86_64.rpm –y

#重啟docker服務

systemctl   start docker

systemctl   enable docker

下面代表docker軟件已經安裝成功

Docker環境怎么構建redis單機容器

4.2    獲取基礎鏡像

    可以直接在Linux編譯環境下載Centos7基礎鏡像,要求編譯環境是要能上外網連上hub.docker.com外網鏡像倉庫來下載鏡像,下面輸入docker search centos可以看到外網docker鏡像倉庫中有很多centos鏡像。可以通過docker pull openshift/base-centos7命令來下載centos基礎鏡像。

 Docker環境怎么構建redis單機容器

    用docker pull已經將鏡像下載到本地linux主機上面,接下來鏡檢查openshift/base-centos7鏡像完整性,只要docker run命令來啟動這個鏡像,我們看到這個容器已經正常啟起來。驗證表明這個鏡像是正常的。

 Docker環境怎么構建redis單機容器

    下面是docker日常用到的一些簡單命令:

1、下載centos鏡像

docker   pull openshift/base-centos7

2、查看鏡像

docker   images

3、刪除鏡像

Docker   rmi <IMAGE ID >

4、運行docker容器

docker   run -itd  openshift/base-centos7 echo   "hello word"

5、啟停docker容器

docker   start <CONTAINER ID >

Docker   stop <CONTAINER ID >

Docker   kill <CONTAINER ID >

6、進入docker容器中

Docker   exec –it <CONTAINER ID > bash

Docker   attach <CONTAINER ID >

7、刪除容器

Docker   rm <CONTAINER ID >

4.3    創建dockerfile構建redis環境

1、編寫redis打包鏡像的dockerfile步驟

Docker環境怎么構建redis單機容器

2、dockerfile編程

#引用centos基礎鏡像

FROM   openshift/base-centos7

MAINTAINER   jaymarco

#安裝redis依賴包與redis軟件

RUN   yum install gcc  gcc-c++ make  cmake    tar  python-setuptools -y   && \

curl   -fL http://download.redis.io/releases/redis-3.2.3.tar.gz | tar xzf - -C /tmp   &&\

cd   /tmp/redis-3.2.3 && \

make   PREFIX=/usr/local/redis install && \

mkdir   -p /usr/local/redis/{bin,etc,var,logs} && \

cp   -af   src/{redis-benchmark,redis-check-aof,redis-check-rdb,redis-cli,redis-sentinel,redis-server}   /usr/local/redis/bin/ && \

cp   -a redis.conf /usr/local/redis/etc/    &&\

cp   -a sentinel.conf /usr/local/redis/etc/ &&\

echo   "export PATH=/usr/local/redis/bin:\$PATH" >   /etc/profile.d/redis.sh && \

source   /etc/profile.d/redis.sh && \

groupadd   -r redis &&\

useradd   -g redis  redis && \

chmod   -R 755 /usr/local/redis/etc && \

yum   clean all && \

rm   -rf /tmp/redis-3.2.3 &&\

/bin/cp   /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&\

echo   'Asia/Shanghai' >/etc/timezone

#redis參數優化

RUN   sed -e 's/^bind 127.0.0.1/#bind 127.0.0.1/' \

-e   's/#   save ""/save   ""/'   \

-e   's/save 900 1/#save 900 1/' \

-e   's/save 300 10/#save 300 10/' \

-e   's/save 60 10000/#save 60 10000/'  \

-e   's/appendonly no/appendonly yes/' \

-e   's/# maxmemory-policy noeviction/maxmemory-policy noeviction/' \

-e   '481i\requirepass Redis@2017' \

-e   '539i\maxmemory 2147483648' \

-i   /usr/local/redis/etc/redis.conf && \

sed   "s|dir ./|dir /usr/local/redis/dumpdb/|"  -i /usr/local/redis/etc/redis.conf   && \

sed   "s|logfile ""|logfile   "/usr/local/redis/logs/redis.log"|"  -i    /usr/local/redis/etc/redis.conf

#容器端口映射

EXPOSE   6379

#啟動redis

ENTRYPOINT   ["/usr/local/redis/bin/redis-server", "/usr/local/redis/etc/redis.conf"]

4.4    構建redis鏡像

    通過docker build執行創建,-t參數指定鏡像名稱,來構建redis鏡像

    docker build -t redis:v3.2.3 .

    執行中會有類似輸出: 

Docker環境怎么構建redis單機容器

執行完畢后,輸入docker images可以查看當前本機的鏡像,如下圖,可以看到新增的鏡像

Docker環境怎么構建redis單機容器

1.1    啟動redis容器

    Redis是有狀態數據,我們將redis的數據文件存儲到本地宿主機,只需要在啟動redis容器的時候將本地目錄以卷的方式掛載到容器中。

    在本地宿主機創建一個redis存儲目錄

    mkdir –p /home/redisdump

  然后啟動redis容器

docker run -itd --name redis

-v   /home/redisdump:/usr/local/redis/dumpdb \

-p   6379:6379 redis:v3.2.3

我們看到容器已經正常啟動,并能查看到它正在運行的進行信息。

Docker環境怎么構建redis單機容器

1   驗證redis容器

    啟動redis容器的時候已將redis容器的6379端口映射到外面的宿主機6379端口,說明我們能夠通過宿主機地址加上6379就能夠訪問redis容器里面的數據。

    現在我們來測試一下

Docker環境怎么構建redis單機容器

    現在宿主機上模擬插入一條數據,然后返回到容器查看數據是否存在

Docker環境怎么構建redis單機容器

    進入容器我們查看數據是有的,說明我們的鏡像是成功的。

Docker環境怎么構建redis單機容器

到此,相信大家對“Docker環境怎么構建redis單機容器”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洮南市| 沅江市| 封开县| 万载县| 信宜市| 樟树市| 临沭县| 东海县| 富阳市| 龙井市| 横峰县| 木兰县| 广安市| 大田县| 巫山县| 五峰| 柘城县| 南涧| 清流县| 辰溪县| 喜德县| 民勤县| 阿拉善左旗| 中卫市| 香港| 塔河县| 道孚县| 南宫市| 额尔古纳市| 北流市| 吉首市| 松江区| 朝阳县| 曲松县| 黄陵县| 祁东县| 宜阳县| 恭城| 阳山县| 安远县| 民乐县|