久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Docker怎么運行一個Redis服務

388次閱讀
沒有評論

共計 2340 個字符,預計需要花費 6 分鐘才能閱讀完成。

這篇文章主要介紹“Docker 怎么運行一個 Redis 服務”,在日常操作中,相信很多人在 Docker 怎么運行一個 Redis 服務問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Docker 怎么運行一個 Redis 服務”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!

安裝

參考官網即可。我在 Ubuntu-14.04 上通過 User Guide 沒有任何問題。

Docker 神奇的 AUFS 文件系統

執行:docker info 可以看到系統級別的信息。如下所示,可以看到 docker 使用的存儲驅動叫 aufs。簡而言之,AUFS 就是一個可堆疊聯合文件系統,通過 aufs 可靈活組裝一個目標容器,如在一個只讀的操作系統上疊加一個可讀可寫的應用程序容器,當應用程序執行過程中發生數據變化,只在可寫的容器層發生,這樣可實現靈活的容器組裝(如替換操作系統層而不影響應用程序層),同時無需像 image 一樣需要保存成一個大文件,節省存儲空間。

Containers: 2
Images: 20
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Dirs: 24
Execution Driver: native-0.2
Kernel Version: 3.13.0-24-generic
WARNING: No swap limit support

煩人的 sudo

ubuntu 下每次執行 docker 都要輸入 sudo,比較煩人,可通過如下配置簡化

#  添加當前用戶到 docker 用戶組里,注意這里的 littcai 為 ubuntu server 登錄用戶名
sudo gpasswd -a littcai docker
#  重啟 Docker 后臺監護進程
sudo service docker restart
#  重啟之后,嘗試一下,是否生效
docker version
#若還未生效,則系統重啟,則生效
sudo reboot

運行運行一個 Redis 服務

執行如下命令:運行一個名為 common-redis 的 docker 容器,- d 表示以 daemon 方式運行,- p 表示將容器內的 6379 端口映射到宿主主機的 6379 端口,這樣一個最簡單的 redis 服務就創建好了。

sudo docker run --name common-redis -d -p 6379:6379 redis

連接到 Redis 服務

運行 redis-cli 命令并 link 到之前運行的 common-redis 服務上,-it 表示開一個 tty 終端,提供交互模式,–rm 表示自動刪除已運行存在的相同 image 的容器

sudo docker run -it --link common-redis:redis --rm redis sh -c  exec redis-cli -h  $REDIS_PORT_6379_TCP_ADDR  -p  $REDIS_PORT_6379_TCP_PORT

Attach 到 Container

有時候我們需要重新進入一個正在運行的 container,這里我們可以使用 attach 命令,其中 - i 表示以交互方式訪問。當需要退出時,需使用 ctrl-p + ctrl-q(注意是連續兩個指令) 而不是 exit(exit 會導致容器停止)。

docker attach -i f2b0ae55d07a

保存修改(new image)

首先用 docker ps - a 命令查詢所有已創建的容器,如下圖所示,得知其 CONTAINER ID=f2b0ae55d07a

執行如下命令保存鏡像,其中 - m 表示本次提交的注釋,- a 為 author,f2b0ae55d07a 為容器 ID,ycai/ubuntu-jdk 為鏡像名稱(此處通過前綴方式增加了用戶名作為分類,方便查詢),v1 為 tag 名。

docker commit -m= Basic JDK ENV  -a= ycai  f2b0ae55d07a ycai/ubuntu-jdk:v1

提交成功后,可通過 docker images 命令查看鏡像倉庫中是否有剛才保存的鏡像,如下圖所示

拷貝文件

拷貝容器內文件到 Host

sudo docker cp container:/path hostpath

拷貝 Host 文件到容器內

注:這個操作不修改原來的 image 內容,而是再它的基礎上新建一個 image.

sudo docker insert image url path

掛載 Host 目錄到容器中

通過 - v 參數可以將 Host 的指定目錄 mount 到目標容器的指定目錄,這樣就可以直接在 Host 中修改文件而不用每次都復制到容器中了。

sudo docker run --name tomcat -v /home/user/webapps:/opt/tomcat/webapps ubuntu-tomcat

Docker 容器連接未理解問題

問題:通過 - v 掛載了 Host 的一個目錄到容器中,然而退出后通過 start 命令再啟動該容器,則 Host 該目錄下的文件變化沒法體現到容器中,容器中在該目錄下的文件操作無法體現到 Host 中,及 mount 失效了。
現象:將容器內掛載目錄下的文件刪掉,退出容器,再重新啟動進入容器,發現目錄又被重新 mount 上了,而且又支持雙向同步了,詭異
分析:該目錄同時也是 Host 通過 mount 方式掛載的一個遠端存儲,由于 Host 上 mount 失效導致三者之間不同步

到此,關于“Docker 怎么運行一個 Redis 服務”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注丸趣 TV 網站,丸趣 TV 小編會繼續努力為大家帶來更多實用的文章!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-16發表,共計2340字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 新乡县| 永嘉县| 马龙县| 南涧| 金乡县| 永泰县| 达孜县| 淮北市| 凤台县| 安徽省| 祁阳县| 锦屏县| 定陶县| 福州市| 万州区| 仙桃市| 天镇县| 长治县| 石渠县| 宁德市| 横山县| 夏邑县| 阿勒泰市| 黄龙县| 海林市| 湖南省| 南江县| 杂多县| 丰镇市| 齐河县| 中江县| 甘泉县| 建阳市| 沁水县| 独山县| 万全县| 尚义县| 昂仁县| 河源市| 项城市| 中阳县|