如何访问docker里的redis 如何连接dokcer中的redis

java\u7a0b\u5e8f\u600e\u4e48\u8bbf\u95ee\u5230docker \u4e2d\u7684redis

\u521b\u5efa\u4e00\u4e2aredis docker\u5bb9\u5668

\u9996\u5148\uff0c\u6211\u4eec\u5148\u4e3aredis\u521b\u5efa\u4e00\u4e2aDockerfile

FROM ubuntu:12.10
RUN apt-get update
RUN apt-get -y install redis-server
EXPOSE 6379
ENTRYPOINT ["/usr/bin/redis-server"]
\u73b0\u5728\u4f60\u9700\u8981\u901a\u8fc7Dockerfile\u521b\u5efa\u4e00\u4e2a\u955c\u50cf\uff0c\u5c06\u66ff\u6362\u6210\u4f60\u81ea\u5df1\u7684\u540d\u5b57\u3002

sudo docker build -t /redis .
\u8fd0\u884c\u670d\u52a1

\u4f7f\u7528\u6211\u4eec\u521a\u624d\u521b\u5efa\u7684redis\u955c\u50cf

\u4f7f\u7528 -d \u8fd0\u884c\u8fd9\u4e2a\u670d\u52a1\u5206\u79bb\u6a21\u5f0f\uff0c\u8ba9\u5bb9\u5668\u5728\u540e\u53f0\u8fd0\u884c\u3002

\u91cd\u8981\u7684\u662f\u6211\u4eec\u6ca1\u6709\u5f00\u653e\u5bb9\u5668\u7aef\u53e3\uff0c\u76f8\u53cd\uff0c\u6211\u4eec\u5c06\u4f7f\u7528\u4e00\u4e2a\u5bb9\u5668\u6765\u8fde\u63a5redis\u5bb9\u5668\u6570\u636e\u5e93

sudo docker run -name redis -d /redis
\u521b\u5efa\u4f60\u7684web\u5e94\u7528\u5bb9\u5668

\u73b0\u5728\u6211\u4eec\u53ef\u4ee5\u521b\u5efa\u6211\u4eec\u7684\u5e94\u7528\u7a0b\u5e8f\u5bb9\u5668\uff0c\u6211\u4eec\u4f7f\u7528-link\u53c2\u6570\u6765\u521b\u5efa\u4e00\u4e2a\u8fde\u63a5redis\u5bb9\u5668\uff0c\u6211\u4eec\u4f7f\u7528\u522b\u540ddb,\u8fd9\u5c06\u4f1a\u5728redis\u5bb9\u5668\u548credis\u5b9e\u4f8b\u5bb9\u5668\u4e2d\u521b\u5efa\u4e00\u4e2a\u5b89\u5168\u7684\u901a\u4fe1\u96a7\u9053

sudo docker run -link redis:db -i -t ubuntu:12.10 /bin/bash
\u8fdb\u5165\u6211\u4eec\u521a\u624d\u521b\u5efa\u7684\u5bb9\u5668\uff0c\u6211\u4eec\u9700\u8981\u5b89\u88c5redis\u7684redis-cli\u7684\u4e8c\u8fdb\u5236\u5305\u6765\u6d4b\u8bd5\u8fde\u63a5

apt-get update
apt-get -y install redis-server
service redis-server stop
\u73b0\u5728\u6211\u4eec\u53ef\u4ee5\u6d4b\u8bd5\u8fde\u63a5\uff0c\u9996\u5148\u6211\u4e48\u8981\u5148\u67e5\u770b\u4e0bweb\u5e94\u7528\u7a0b\u5e8f\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\uff0c\u6211\u4eec\u53ef\u4ee5\u7528\u6211\u4eec\u7684ip\u548c\u7aef\u53e3\u6765\u8fde\u63a5redis\u5bb9\u5668

env
. . .
DB_NAME=/violet_wolf/db
DB_PORT_6379_TCP_PORT=6379
DB_PORT=tcp://172.17.0.33:6379
DB_PORT_6379_TCP=tcp://172.17.0.33:6379
DB_PORT_6379_TCP_ADDR=172.17.0.33
DB_PORT_6379_TCP_PROTO=tcp
\u6211\u4eec\u53ef\u4ee5\u770b\u5230\u6211\u4eec\u6709\u4e00\u4e2aDB\u4e3a\u524d\u7f00\u7684\u73af\u5883\u53d8\u91cf\u5217\u8868\uff0cDB\u6765\u81ea\u6307\u5b9a\u522b\u540d\u8fde\u63a5\u6211\u4eec\u7684\u73b0\u5728\u7684\u5bb9\u5668\uff0c\u8ba9\u6211\u4eec\u4f7f\u7528DB_PORT_6379_TCP_ADDR\u53d8\u91cf\u8fde\u63a5\u5230Redis\u5bb9\u5668\u3002

redis-cli -h $DB_PORT_6379_TCP_ADDR
redis 172.17.0.33:6379>
redis 172.17.0.33:6379> set docker awesome
OK
redis 172.17.0.33:6379> get docker
"awesome"
redis 172.17.0.33:6379> exit
\u6211\u4eec\u53ef\u4ee5\u5f88\u5bb9\u6613\u7684\u4f7f\u7528\u8fd9\u4e2a\u6216\u8005\u5176\u4ed6\u73af\u5883\u53d8\u91cf\u5728\u6211\u4eec\u7684web\u5e94\u7528\u7a0b\u5e8f\u5bb9\u5668\u4e0a\u8fde\u63a5\u5230redis\u5bb9\u5668

\u521b\u5efa\u4e00\u4e2aredisdocker\u5bb9\u5668\u9996\u5148\uff0c\u6211\u4eec\u5148\u4e3aredis\u521b\u5efa\u4e00\u4e2aDockerfileFROMubuntu:12.10RUNapt-getupdateRUNapt-get-yinstallredis-serverEXPOSE6379ENTRYPOINT["/usr/bin/redis-server"]\u73b0\u5728\u4f60\u9700\u8981\u901a\u8fc7Dockerfile\u521b\u5efa\u4e00\u4e2a\u955c\u50cf\uff0c\u5c06\u66ff

创建一个redis docker容器

首先,我们先为redis创建一个Dockerfile

FROM ubuntu:12.10
RUN apt-get update
RUN apt-get -y install redis-server
EXPOSE 6379
ENTRYPOINT ["/usr/bin/redis-server"]
现在你需要通过Dockerfile创建一个镜像,将替换成你自己的名字。

sudo docker build -t /redis .
运行服务

使用我们刚才创建的redis镜像

使用 -d 运行这个服务分离模式,让容器在后台运行。

重要的是我们没有开放容器端口,相反,我们将使用一个容器来连接redis容器数据库

sudo docker run -name redis -d /redis
创建你的web应用容器

现在我们可以创建我们的应用程序容器,我们使用-link参数来创建一个连接redis容器,我们使用别名db,这将会在redis容器和redis实例容器中创建一个安全的通信隧道

sudo docker run -link redis:db -i -t ubuntu:12.10 /bin/bash
进入我们刚才创建的容器,我们需要安装redis的redis-cli的二进制包来测试连接

apt-get update
apt-get -y install redis-server
service redis-server stop
现在我们可以测试连接,首先我么要先查看下web应用程序容器的环境变量,我们可以用我们的ip和端口来连接redis容器

env
. . .
DB_NAME=/violet_wolf/db
DB_PORT_6379_TCP_PORT=6379
DB_PORT=tcp://172.17.0.33:6379
DB_PORT_6379_TCP=tcp://172.17.0.33:6379
DB_PORT_6379_TCP_ADDR=172.17.0.33
DB_PORT_6379_TCP_PROTO=tcp
我们可以看到我们有一个DB为前缀的环境变量列表,DB来自指定别名连接我们的现在的容器,让我们使用DB_PORT_6379_TCP_ADDR变量连接到Redis容器。

redis-cli -h $DB_PORT_6379_TCP_ADDR
redis 172.17.0.33:6379>
redis 172.17.0.33:6379> set docker awesome
OK
redis 172.17.0.33:6379> get docker
"awesome"
redis 172.17.0.33:6379> exit
我们可以很容易的使用这个或者其他环境变量在我们的web应用程序容器上连接到redis容器

  • 瀹瑰櫒绮惧崕闂瓟 | 濡備綍杩涜璺ㄦ満鍣ㄧ殑Container鍋歀ink?
    绛旓細2 Q锛Docker鐨鍒涘浜篠olomon Hykes璇磋繃鈥滀綘鍦≒ython2.7涓嬫祴璇曪紝绾夸笂鍗磋繍琛岀潃Python3锛屽鎬殑浜嬫儏灏卞彂鐢熶簡锛涙垨鑰呬綘渚濊禆鍏蜂綋鏌愪釜SSL鐗堟湰鐨勫姛鑳斤紝浣嗘湇鍔″櫒涓婂嵈瀹夎鐫鍙﹀鐗堟湰鐨凷SL锛涗綘鍦―ebian绯荤粺涓婅繘琛屼簡娴嬭瘯锛岀敓浜х幆澧冨嵈鏄Red Hat锛岄偅鍚勭鍚勬牱鐨勫鎬殑浜嬫儏灏变細鍙戠敓銆傗濆浜庝互涓婂嚑涓棶棰橈紝瀹瑰櫒鏄濡備綍瑙e喅...
  • Docker瀹夊叏鎬р曗旸ocker瀹瑰櫒鐪熺殑瀹夊叏鍚
    绛旓細閭f湯锛岄棶棰樻槸鐢氫箞锛熶负浣曞鍣涓涓嶅寘鎷偅浜涘唴瀹癸紵鏈澶х殑闂灏辨槸1鍒囧湪Linux涓病鏈夊懡鍚嶇┖闂淬傜洰鍓嶏紝Docker浣跨敤5涓懡鍚嶇┖闂存潵鏀瑰彉绯荤粺鐨勬祦绋嬭鍥撅細杩涚▼锛岀綉缁滐紝瀹夎锛屼富鏈哄悕锛屽悓浜唴瀛樸傝櫧鐒惰繖浜涚粰鐢ㄦ埛鐨勫畨鍏ㄦх殑鏌愮绋嬪害瀹冪粷涓嶆槸鍏ㄩ潰锛屽儚KVM銆傚湪KVM鐜涓櫄鎷熸満杩涚▼涓嶈窡涓绘満鍐呮牳鐩存帴銆備粬浠病鏈変换浣璁块棶鍐呮牳鐨...
  • 涓ゅぇ瀹瑰櫒绠$悊骞冲彴,Kubernetes涓嶰penShift鏈変粈涔堝尯鍒?
    绛旓細浣跨敤Kubernetes锛屽彲浠ヨ缃嚜宸辩殑Docker娉ㄥ唽琛紝浣嗘病鏈夐泦鎴愰暅鍍忔敞鍐岃〃鐨勬蹇点侽penShift闄勫甫浜嗕竴涓泦鎴愮殑闀滃儚娉ㄥ唽琛紝鍙互涓嶥ocker Hub鎴Red Hat涓璧蜂娇鐢ㄣ傚畠鐢氳嚦杩樻湁涓涓敞鍐岃〃鎺у埗鍙帮紝鍙互鍦ㄥ叾涓悳绱笌闆嗙兢涓椤圭洰鐩稿叧鐨勯暅鍍忓拰闀滃儚娴佺殑淇℃伅銆侸enkins 铏界劧Kubernetes涓笉瀛樺湪璇ユ蹇碉紝浣嗗彲浠ラ儴缃茶嚜宸辩殑鑷畾涔...
  • 杞浇:娴呰皥Cgroups
    绛旓細鎴戜篃鍘荤瓟棰璁块棶涓汉椤 灞曞紑鍏ㄩ儴 璇磋捣瀹瑰櫒鐩戞帶,棣栧厛浼氭兂鍒伴氳繃Cadvisor, Docker stats绛夊绉嶆柟寮忚幏鍙栧鍣ㄧ殑鐩戞帶鏁版嵁,骞跺悓鏃朵細鎯冲埌瀹瑰櫒閫氳繃Cgroups瀹炵幇瀵瑰鍣涓殑璧勬簮杩涜闄愬埗銆備絾鏄繖浜涙暟鎹潵鑷摢閲,骞朵笖濡備綍璁$畻鐨?绛旀鏄疌groups銆傛渶杩戝湪鍐docker瀹瑰櫒鐩戞帶缁勪欢,鍦ㄦ繁鍏advisor鍜孌ocker stats婧愮爜鍙戠幇鏁版嵁閮芥潵婧愪簬Cgroups銆備簡...
  • redhat6.2鍙互瀹夎docker鍚
    绛旓細瀹樼綉涓婂啓鐨勪粠Read Hat 7寮濮嬫墠鏀寔瀹夎 Docker is supported on Red Hat Enterprise Linux 7.Docker requires a 64-bit OS and version 3.10 or higher of the Linux kernel.鍙傝冩枃妗o細https://docs.docker.com/engine/installation/linux/rhel/ ...
  • CentOS 7鏄惁宸茬粡鍙戝竷骞跺熀浜嶳HEL 7.0鐨勬簮浠g爜?
    绛旓細瀛樺偍鍜屾枃浠剁郴缁熼噰鐢↙IO鍜孡VM缂撳瓨锛孹FS浣滀负榛樿鏂囦欢绯荤粺锛屾彁鍗囦簡瀛樺偍鏁堢巼銆傚湪缃戠粶鏂归潰锛孯HEL 7.0寮曞叆浜嗙綉缁滃垎缁勬妧鏈丏NSSEC澧炲己鍜孫penLMI绠$悊宸ュ叿锛屼互鍙婂彲淇$綉缁滆繛鎺ュ姛鑳斤紝涓板瘜浜嗙綉缁滅鐞嗘墜娈点侹VM鏂归潰锛孯HEL 7.0鎻愪緵浜嗗椤逛紭鍖栵紝濡倂irtio-blk-data-plane鍜孶SB 3.0鏀寔锛屼负铏氭嫙鍖栨ц兘澧炶壊銆傚悓鏃讹紝Docker瀹瑰櫒...
  • Docker鐨save鍜宔xport鍛戒护鐨勫尯鍒
    绛旓細寮婧愰」鐩瓺ocker锛Red Hat鏂扮殑铏氭嫙鍖栭夋嫨 http://www.linuxidc.com/Linux/2013-10/91051.htm dockerlite: 杞婚噺绾 Linux 铏氭嫙鍖 http://www.linuxidc.com/Linux/2013-07/87093.htm Docker鐨鎼缓Gitlab CI 鍏ㄨ繃绋嬭瑙 http://www.linuxidc.com/Linux/2013-12/93537.htm Docker 鍜屼竴涓甯哥殑铏氭嫙...
  • 鍙互鍦docker閲岄潰杩愯upstart鍚
    绛旓細docker start/running, process 18147 姝ゅ锛屾垜浠繕鍙互鐢║pstart鐨剆tart鍜宻top鍛戒护鏉ュ惎鍔ㄥ拰鍋滄Docker瀹堟姢杩涚▼锛屽浠g爜娓呭崟2-52鎵绀恒備唬鐮佹竻鍗2-52銆鐢║pstart鍚姩鍜屽仠姝ocker瀹堟姢杩涚▼ sudo stop docker docker stop/waiting sudo start docker docker start/running, process 18192 鍦Red Hat鍜孎edora涓锛屽彧...
  • frp鏈夊摢浜涚敓浜ф柟娉
    绛旓細2.2 Docker瀹夎 浣跨敤Docker瀹夎frp鍙互鐪佸幓缂栬瘧婧愮爜鐨勬楠わ紝鍚屾椂涔熸柟渚跨鐞嗗拰閮ㄧ讲銆傚彲浠ラ氳繃Docker Hub涓嬭浇frp闀滃儚锛屽苟閫氳繃Docker鍛戒护鍚姩瀹瑰櫒杩涜浣跨敤銆2.3 RPM鍖呭畨瑁 RPM鍖呮槸Red Hat Package Manager鐨勭缉鍐欙紝鏄竴绉嶅熀浜嶭inux绯荤粺鐨勮蒋浠跺寘绠$悊鏈哄埗銆備娇鐢ㄨ鏂瑰紡瀹夎鍙互鐪佸幓婧愮爜缂栬瘧鍜岄厤缃殑姝ラ锛屽彧闇涓嬭浇...
  • OpenShift (OKD) 绠浠
    绛旓細鍦∣penShift鐨勫箍闃斿ぉ鍦伴噷锛屽紑鍙戙佹祴璇曘侀儴缃蹭笌杩愮淮鍏ㄧ▼鑷姩鍖栵紝鏃犺鏄瀹瑰櫒绠$悊(Docker)鐨勯渶姹傦紝杩樻槸瀵筀ubernetes瀹瑰櫒缂栨帓鐨勬帉鎺э紝閮戒竴搴斾勘鍏ㄣ傚畠鏄涓湪浼佷笟绾х幆澧冧腑涓篔ava寮鍙戣呴噺韬墦閫犵殑PaaS骞冲彴锛屽吋瀹笿EE6銆丣Boss鍜孍clipse锛屼互鍙奙aven鍜孞enkins鐨勮嚜鍔ㄥ寲娴佺▼銆侽penShift鐨勫簳灞傛妧鏈熀鐭 OpenShift鐨勬瀯寤...
  • 扩展阅读:docker官网无法访问 ... docker内部访问外网 ... docker访问私人仓库 ... redis要放docker里吗 ... docker启动容器如何能进入 ... 外网无法访问docker ... docker访问微服务 ... docker未授权访问漏洞 ... 为什么docker被淘汰了 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网