日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

docker port如何增加端口_docker部署redis实战

發(fā)布時間:2024/7/19 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker port如何增加端口_docker部署redis实战 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原創(chuàng)首發(fā)于公眾號:編程三分鐘

“ 換電腦的時候不想再搭建開發(fā)環(huán)境了!——編程三分鐘”

什么是docker

Docker是一個用來管理容器的應(yīng)用程序,而容器就是模擬運行應(yīng)用程序所依賴環(huán)境的一個服務(wù)。一般一個容器內(nèi)只安裝一個程序,在容器內(nèi)的應(yīng)用程序會認(rèn)為自己是機器上運行的唯一進程,一臺機器可以獨立運行多個容器。

使用容器的好處就是不用再繁瑣的配置運行環(huán)境,便于構(gòu)建、測試、持續(xù)集成;可以動態(tài)擴容和縮容、充分利用一臺服務(wù)器跑多個服務(wù),因此在本機就可以模擬出微服務(wù)架構(gòu)。

當(dāng)然,我個人覺得最爽的一點還是可以在容器里隨意的開發(fā)測試,但也不用擔(dān)心把自己心愛的電腦搞的亂七八糟了。

準(zhǔn)備

  • 一臺安裝docker的機器
  • 能通網(wǎng)并訪問最新版本的Docker Engine (服務(wù)端)
  • 本地開發(fā)機器安裝了Docker Client(Docker 命令行工具),可通過命令行訪問。

運行容器

可以在 官網(wǎng)上 搜索到現(xiàn)成的鏡像,也可以用以下方式查找容器,命令格式:

docker search <name>

實際執(zhí)行

$ docker search redis NAME DESCRIPTION STARS OFFICIAL AUTOMATED redis Redis is an open source key-value store that… 7023 [OK] bitnami/redis Bitnami Redis Docker Image 114 [OK] 省略……

我們找到了redis的OFFICIAL(官方)docker 鏡像名就是redis,為了讓它能提供服務(wù),我們接下來的任務(wù)就是讓他作為后臺服務(wù)運行,命令格式:

$ docker run <options> <image-name>

默認(rèn)情況下,Docker將在前臺運行命令。要在后臺運行,需要指定選項-d。

$ docker run -d redis 570315fb8a0596ff5581653a77f8ef406f86a0ab4b1a2061de7a423335812ed3

默認(rèn)情況下,Docker將運行最新版本。如果需要特定版本,則需要將其顯式的指定出來。
例如,版本3.2

$ docker run -d redis:3.2

由于這是我們第一次使用Redis鏡像,所以它將被下載到Docker主機上,如果本地存在就不會了。

查看運行中的容器

可以用docker ps命令列出所有正在運行的容器,包括用于啟動容器的鏡像和正常運行的時間等信息。

$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 570315fb8a05 redis "docker-entrypoint.s…" 5 minutes ago Up 5 minutes 6379/tcp elastic_mclean

列出正在運行的容器的更多詳細(xì)信息,例如IP地址,命令格式如下:

docker inspect <friendly-name|container-id>

通過docker logs命令可以查看容器的日志,命令格式如下:

docker logs <friendly-name|container-id>

訪問redis

我們現(xiàn)在用容器部署成功了一個redis,但是和直接安裝一個redis不一樣,容器就像一臺虛擬機一樣,想要訪問服務(wù),要不就進入到里面,要不就通過暴露端口像遠(yuǎn)程訪問一樣來進行訪問。

-p <host-port>:<container-port>選項可以在啟動容器的時候綁定端口。

這個時候使用-name <name>來在啟動容器的時候定義一個名稱,以后查詢以及查看日志都會比較方便。

因為redis默認(rèn)占用6379端口,我們可以將端口6379映射到本地的6379

$ docker run -d --name redisHostPort -p 6379:6379 redis:latest 694384d739307f3c5bc59fa

tips:默認(rèn)情況下,主機上的端口映射到0.0.0.0,可以在定義端口映射的時候指定特定的IP,例如-p 127.0.0.1:6379:6379

假設(shè)我們要部署多個redis不可能每次都自己親手來找一個端口來映射,docker是支持自動綁定到可用端口上的,只要用-p 6379這個參數(shù)就可以了,像下面這樣。

$ docker run -d --name redisDynamic -p 6379 redis:latest dcd3dabe51c3f0a8ddbdfd

到底綁定了哪個端口,可以用以下命令查詢(這個時候就用到自定義的名稱redisDynamic了),當(dāng)然直接用docker ps也是可以的。

$ docker port redisDynamic 6379 0.0.0.0:32768

存儲數(shù)據(jù)

在使用容器的時候我們會發(fā)現(xiàn),一旦創(chuàng)建和刪除、升級容器,里面存儲的數(shù)據(jù)也就隨風(fēng)而去了,所以我們必須想辦法把數(shù)據(jù)存儲下來。

我們查詢到官網(wǎng)上的redis鏡像存儲數(shù)據(jù)的目錄在/data目錄,然后我們存儲在本地/opt/docker/data/redis
使用參數(shù)-v 本機位置:容器內(nèi)位置

docker run -d --name redisMapped -v /opt/docker/data/redis:/data redis c9c154695500260407d99d

當(dāng)然了,也可以把配置文件重定向到本地,可以把所有的容器配置、日志、數(shù)據(jù)統(tǒng)一管理,非常的方便。

與平臺交互

docker run ubuntu ps 啟動Ubuntu容器并執(zhí)行命令ps以查看容器中運行的所有進程。docker run -it ubuntu bash直接訪問容器內(nèi)的bash shell。

$ docker run ubuntu psPID TTY TIME CMD1 ? 00:00:00 ps $ docker run -it ubuntu bash root@6db973337059:/# exit

訪問正在運行的dockerdocker attach <container> 要attach上去的容器必須正在運行。docker exec -it <container> bash|sh直接訪問容器內(nèi)的bash shell。

$ docker attach c9c154695500 /bin/bash root@c9c154695500:/data# exit $ docker exec -it c9c154695500 /bin/bash root@c9c154695500:/data# exit

這里也可以直接用容器name

  • attach 直接進入容器,不會啟動新進程
  • exec 在容器中打開新終端,會啟動新進程

那什么時候用attach,什么時候用exec呢?

推薦閱讀

(點擊標(biāo)題可跳轉(zhuǎn)閱讀)

10 個方便的Bash別名

如何向朋友解釋什么是云計算?

MySQL:硬盤在24 * 7工作中罷工了,我該怎么辦?

總結(jié)

以上是生活随笔為你收集整理的docker port如何增加端口_docker部署redis实战的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。