日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

原創首發于公眾號:編程三分鐘

“ 換電腦的時候不想再搭建開發環境了!——編程三分鐘”

什么是docker

Docker是一個用來管理容器的應用程序,而容器就是模擬運行應用程序所依賴環境的一個服務。一般一個容器內只安裝一個程序,在容器內的應用程序會認為自己是機器上運行的唯一進程,一臺機器可以獨立運行多個容器。

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

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

準備

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

運行容器

可以在 官網上 搜索到現成的鏡像,也可以用以下方式查找容器,命令格式:

docker search <name>

實際執行

$ 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,為了讓它能提供服務,我們接下來的任務就是讓他作為后臺服務運行,命令格式:

$ docker run <options> <image-name>

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

$ docker run -d redis 570315fb8a0596ff5581653a77f8ef406f86a0ab4b1a2061de7a423335812ed3

默認情況下,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

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

docker inspect <friendly-name|container-id>

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

docker logs <friendly-name|container-id>

訪問redis

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

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

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

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

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

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

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

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

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

$ docker port redisDynamic 6379 0.0.0.0:32768

存儲數據

在使用容器的時候我們會發現,一旦創建和刪除、升級容器,里面存儲的數據也就隨風而去了,所以我們必須想辦法把數據存儲下來。

我們查詢到官網上的redis鏡像存儲數據的目錄在/data目錄,然后我們存儲在本地/opt/docker/data/redis
使用參數-v 本機位置:容器內位置

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

當然了,也可以把配置文件重定向到本地,可以把所有的容器配置、日志、數據統一管理,非常的方便。

與平臺交互

docker run ubuntu ps 啟動Ubuntu容器并執行命令ps以查看容器中運行的所有進程。docker run -it ubuntu bash直接訪問容器內的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直接訪問容器內的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呢?

推薦閱讀

(點擊標題可跳轉閱讀)

10 個方便的Bash別名

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

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。