Docker創(chuàng)建redis容器笛粘,且可以通過(guò)宿主機(jī)訪問(wèn)

剛開(kāi)始搞開(kāi)發(fā)的時(shí)候趁怔,朋友就建議有時(shí)間學(xué)習(xí)下docker湿硝,通過(guò)docker構(gòu)建環(huán)境,快準(zhǔn)狠润努。
可惜過(guò)了這么多年关斜,才開(kāi)始學(xué)習(xí)。哈哈铺浇。
今天主要聊下自己從安裝docker痢畜,到創(chuàng)建第一個(gè)鏡像文件,到第一個(gè)容器鳍侣,以及在容器中安裝redis丁稀,最終通過(guò)宿主機(jī)訪問(wèn)成功的過(guò)程,以及躺過(guò)的坑倚聚。希望對(duì)大家有借鑒價(jià)值线衫。

首先在本地電腦安裝docker

我是直接手動(dòng)下載安裝19.03.8stable版本 https://www.runoob.com/docker/macos-docker-install.html
Windows連接里也有下載安裝方法,請(qǐng)自取秉沼。
建議大家去https://hub.docker.com/注冊(cè)一個(gè)賬戶桶雀,方便將自己制作好的image發(fā)布到dockerhub中方便大家下載。(當(dāng)然唬复,不注冊(cè)也是可以的,從dockerhub上pull鏡像是不需要登陸的全肮,另外自己的鏡像文件想要分享給其他小伙伴們的話也可以使用export 與 import命令敞咧,以后有機(jī)會(huì)的話會(huì)寫(xiě))
下一步就是鏡像加速
19版本界面改了,添加加速地址通過(guò)點(diǎn)擊小鯨魚(yú)應(yīng)用-> Perferences->到下圖

E2F956BD-BBB6-4E98-9A77-F5CF81FE2097.png

可以使用阿里辜腺、163等提供的加速器
重啟一下就可以開(kāi)始愉快的玩耍了休建。

準(zhǔn)備好鏡像文件

因?yàn)橛袕?qiáng)迫癥,東西都是想自己安裝(主要是屬性安裝目錄)我在此是只先弄centos7的鏡像评疗,然后自己編譯安裝的redis测砂。如果嫌棄的話“俅遥可以直接在dockerhub上下載官方提供安裝好的鏡像文件砌些。

docker pull centos:centos7

centos:centos7 冒號(hào)前是軟件名,后面是版本加匈。建議大家都指定版本存璃,若不選則默認(rèn)下載最后的latest版本,因?yàn)樽钚鲁龅衿矗赡懿蝗缜懊姘姹痉€(wěn)定纵东,會(huì)有未知bug。

下載需要點(diǎn)時(shí)間啥寇,完成后

docker images

就可以看到列表下有剛下載的鏡像文件了


F16FED34D79D5CD863B037008B66865F.jpg

REPOSITORY:鏡像文件名
TAG:版本
IMAGE ID:加密的id
CREATED:創(chuàng)建時(shí)間
SIZE:鏡像文件大小

ok偎球,現(xiàn)在可以構(gòu)建容器了洒扎,很簡(jiǎn)單的一條命令

  docker run -itd --name centos centos:centos7

-a stdin: 指定標(biāo)準(zhǔn)輸入輸出內(nèi)容類(lèi)型,可選 STDIN/STDOUT/STDERR 三項(xiàng);
-d: 后臺(tái)運(yùn)行容器衰絮,并返回容器ID;
-i: 以交互模式運(yùn)行容器袍冷,通常與 -t 同時(shí)使用;
-t: 為容器重新分配一個(gè)偽輸入終端,通常與 -i 同時(shí)使用;
--name="nginx-lb": 為容器指定一個(gè)名稱;

執(zhí)行成功后岂傲,會(huì)返回一個(gè)加密id难裆,這就是你的容器id。

docker exec -it centos bash

然后就進(jìn)入了你熟悉的centos環(huán)境了(命令最后的bash,算是docker的一個(gè)小bug,原因大概是你進(jìn)入容器中什么都不做镊掖,你會(huì)退出乃戈,但你執(zhí)行bash、top之類(lèi)的命令就可以正常操作了)

安裝redis 直接擼code

groupadd -r redis && useradd -r -g redis redis
yum update -y;
yum -y install gcc automake autoconf libtool make wget epel-release gcc-c++;
mkdir -p /usr/src/redis;
wget https://github.com/antirez/redis/archive/5.0.7.tar.gz; 
tar -zxvf 5.0.7.tar.gz -C /usr/src/redis; 
#為了保證image盡量的小亩进,解壓完症虑,將安裝包刪除
rm -rf 5.0.7.tar.gz
cd /usr/src/redis/redis-5.0.7 && make && make PREFIX=/usr/local/redis install;

(redis6最新版本,在編譯安裝的時(shí)候gcc有版本要求归薛,且在編譯的時(shí)候要指定版本谍憔,以后有機(jī)會(huì)單獨(dú)聊)

redis-server

就可以看見(jiàn)熟悉的redis開(kāi)啟命令
在開(kāi)一個(gè)客戶端,打開(kāi)客戶端 redis-cli 說(shuō)明可以正常操作了主籍。

至此习贫,一個(gè)正常可用的redis容器就可以了千元。

最后實(shí)現(xiàn)從宿主機(jī)可以通過(guò)客戶端訪問(wèn)到redis容器

想要實(shí)現(xiàn)聯(lián)通苫昌,需要在生成容器時(shí),指定端口幸海。

docker exec -it -p 8379:6379 centos bash

但是我們現(xiàn)在已經(jīng)生成好了容器祟身,怎么辦呢。
簡(jiǎn)單物独,將容器逆向生成鏡像文件袜硫,然后重新生成新的容器。

docker commit centos  centos/redis

現(xiàn)在你的docker images 里就多了一條鏡像 centos/redis

重新run新的容器

docker run -itd -p 8379:6379 --name redis centos/redis bash

現(xiàn)在 docker ps 里就有了兩個(gè)容器

進(jìn)入到新的容器 redis里

docker exec -it redis bash

開(kāi)啟redis-server挡篓,redis-cli 可以正常使用

然后在宿主機(jī)婉陷,通過(guò)命令行遠(yuǎn)程訪問(wèn)容器

redis-cli -h 127.0.0.1 -p 8379

#發(fā)現(xiàn)會(huì)報(bào)如下錯(cuò)誤
(error) DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. In this mode connections are only accepted from the loopback interface. If you want to connect from external computers to Redis you may adopt one of the following solutions: 1) Just disable protected mode sending the command 'CONFIG SET protected-mode no' from the loopback interface by connecting to Redis from the same host the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so. Use CONFIG REWRITE to make this change permanent. 2) Alternatively you can just disable the protected mode by editing the Redis configuration file, and setting the protected mode option to 'no', and then restarting the server. 3) If you started the server manually just for testing, restart it with the '--protected-mode no' option. 4) Setup a bind address or an authentication password. NOTE: You only need to do one of the above things in order for the server to start accepting connections from the outside.

解決方法:
更改redis.conf
將配置文件里的protected mode改為了no,原本是yes瞻凤。

然后重啟服務(wù)
在容器的cli里設(shè)置密碼

>config set requirepass 123456
>OK

在通過(guò)宿主機(jī)登陸

9DEAC33157C6413E9D7EE957AD7E8270.jpg

完美

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末憨攒,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子阀参,更是在濱河造成了極大的恐慌肝集,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,406評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛛壳,死亡現(xiàn)場(chǎng)離奇詭異杏瞻,居然都是意外死亡所刀,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)捞挥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)浮创,“玉大人,你說(shuō)我怎么就攤上這事砌函≌杜” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,815評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵讹俊,是天一觀的道長(zhǎng)垦沉。 經(jīng)常有香客問(wèn)我,道長(zhǎng)仍劈,這世上最難降的妖魔是什么厕倍? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,537評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮贩疙,結(jié)果婚禮上讹弯,老公的妹妹穿的比我還像新娘。我一直安慰自己这溅,他們只是感情好组民,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,536評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著悲靴,像睡著了一般邪乍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上对竣,一...
    開(kāi)封第一講書(shū)人閱讀 52,184評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音榜配,去河邊找鬼否纬。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蛋褥,可吹牛的內(nèi)容都是我干的临燃。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼烙心,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼膜廊!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起淫茵,我...
    開(kāi)封第一講書(shū)人閱讀 39,668評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤爪瓜,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后匙瘪,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體铆铆,經(jīng)...
    沈念sama閱讀 46,212評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蝶缀,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,299評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了薄货。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片翁都。...
    茶點(diǎn)故事閱讀 40,438評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖谅猾,靈堂內(nèi)的尸體忽然破棺而出柄慰,到底是詐尸還是另有隱情,我是刑警寧澤税娜,帶...
    沈念sama閱讀 36,128評(píng)論 5 349
  • 正文 年R本政府宣布坐搔,位于F島的核電站,受9級(jí)特大地震影響巧涧,放射性物質(zhì)發(fā)生泄漏薯蝎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,807評(píng)論 3 333
  • 文/蒙蒙 一谤绳、第九天 我趴在偏房一處隱蔽的房頂上張望占锯。 院中可真熱鬧,春花似錦缩筛、人聲如沸消略。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,279評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)艺演。三九已至,卻和暖如春桐臊,著一層夾襖步出監(jiān)牢的瞬間胎撤,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,395評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工断凶, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留伤提,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,827評(píng)論 3 376
  • 正文 我出身青樓认烁,卻偏偏與公主長(zhǎng)得像肿男,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子却嗡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,446評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Docker 學(xué)習(xí)目標(biāo): 掌握Docker基礎(chǔ)知識(shí)舶沛,能夠理解Docker鏡像與容器的概念 完成Docker安裝與啟...
    執(zhí)筆夢(mèng)一場(chǎng)閱讀 3,240評(píng)論 2 10
  • docker的使用 5.1從docker鏡像倉(cāng)庫(kù)獲取鏡像的命令 docker pull [選項(xiàng)] [Docker ...
    愛(ài)學(xué)習(xí)的ren閱讀 614評(píng)論 0 0
  • 一、docker介紹 docker的優(yōu)勢(shì) 1窗价、更高效的利用系統(tǒng)資源由于容器不需要進(jìn)行硬件虛擬以及運(yùn)行完整操作系統(tǒng)等...
    Mr_Du_Biao閱讀 668評(píng)論 0 0
  • 0x01 核心概念 Docker鏡像類(lèi)似于虛擬機(jī)鏡像如庭,可以理解為一個(gè)面向Docker引擎的只讀模板,包含了文件系統(tǒng)...
    閑云逸心閱讀 4,728評(píng)論 0 9
  • 感動(dòng)舌镶,現(xiàn)在尤其需要柱彻。 任何都掩飾不了此階段的空虛豪娜。 何時(shí)的意氣風(fēng)發(fā),卻因各種而消失哟楷。 何時(shí)才能超越瘤载,你我一起。你道...
    foreveryy閱讀 159評(píng)論 0 0