利用docker构造并运行一个Redis容器
1、首先我们来编写一个基本的Dockerfile
在任意一个目录下
$ vi Dockerfile
内容填写如下:
FROM ubuntu:14.04
RUN apt-get update
RUN apt-get -y install redis-server
EXPOSE 6379
ENTRYPOINT ["/usr/bin/redis-server"]
2、构建并运行容器
在编写完Dockerfile之后,我们就可以运行一下命令来构建一个镜像:
$ sudo docker build -t <your username>/redis .
注意这句命令的后面的那个 "."是不可缺少的。
稍等片刻后镜像就会创建完成。接着我们通过运行docker run命令来生成构建好的容器了:
$ sudo docker run --name redis -d <your username>/redis
其中-d参数表示我们希望通过detached模式来运行容器,也就是让容器持续地在后台运行。
3、创建并连接测试容器
我们可以通过使用docker run带上一个-link参数把生成好的Redis容器链接到新建的测试容器上,使得不需要暴露任何端口就可以让测试容器访问Redis服务了:
$ sudo docker run --link redis:db -i -t ubuntu:14.04 /bin/bash
通过上面的命令,我们把redis容器链接到了新的ubuntu容器上,并且取名为db,这样我们就只会把Redis服务暴露给这个容器而不是更大的范围。
接下来我们在测试容器里装上redis-cli:
$ apt-get update
$ apt-get -y install redis-server
$ service redis-server stop
由于使用了-link参数,我们会发现环境变量中产生了一些DB_开头的变量:
$ env | grep DB_
DB_NAME=/condescending_mclean/db
DB_PORT_6379_TCP_PORT=6379
DB_PORT=tcp://172.17.0.6:6379
DB_PORT_6379_TCP=tcp://172.17.0.6:6379
DB_PORT_6379_TCP_ADDR=172.17.0.6
DB_PORT_6379_TCP_PROTO=tcp
于是我们就可以在测试容器中通过这些变量连接到Redis服务了:
$ redis-cli -h $DB_PORT_6379_TCP_ADDR
$ redis 172.17.0.6:6379>$ redis 172.17.0.6:6379> set hello worldOK$ redis 172.17.0.6:6379> get hello"world"$ redis 172.17.0.6:6379> exit至此一个包含Redis服务的Docker容器就创建完成了。
利用docker构造并运行一个Redis容器的更多相关文章
- 通过运行一个tomcat容器来记录下初学docker常用的几个命令---容器篇
1.查看容器列表 显示正在运行的容器: [root@localhost HMK]# docker ps 显示所有容器,包括未运行的: [root@localhost HMK]# docker ps - ...
- Docker实战之创建一个tomcat容器
一.Docker与虚拟机的区别 二.Docker学习步骤 2.1:安装宿主操作系统 在VMVare中安装了Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-62-generic ...
- 使用docker创建和运行跨平台的容器化的mssql数据库
我们一般启用sql server数据库要么选择安装SQL Server实例和管理工具(SSMS),要么用vs自带的数据库.如今net跨平台成为趋势,今天给大家介绍另一种我最近在玩的方式,即使用dock ...
- [Docker] 六步运行一个 sentry 实例
# 6步, https://hub.docker.com/_/sentry/ # 依赖Redisdocker run -d --name sentry-redis redis:3.2.12 # 依赖p ...
- Docker入门(windows版),利用Docker创建一个Hello World的web项目
Docker 当大家点开这篇博客的时候,相信大家对docker多多少少也有些认识了,最近学习docker这门技术,略微有些心得,写篇文章记录一下学习过程并帮大家跳过一些坑. docker的核心有两个, ...
- Docker 学习之mysql与redis(二)
在上一随笔中主要就是记录docker的基本使用以及nginx与php服务器的配置:在这一章将主要记录docker安装mysql与redis. 本节随笔参考网址:https://www.runoob.c ...
- 利用Docker手动构建WebLogic镜像的步骤
info 我的Docker环境信息如下: [root@localhost ~]# docker info -f " OSType: {{.OperatingSystem}} {{.Archi ...
- dokcer 运行和进入容器
<pre name="code" class="html">docker:/root# docker run -itd --name zjtest8 ...
- 在docker上安装运行mysql实例
ps:实验环境是:CentOS Linux release 7.3 64位1.获取mysql镜像从docker hub的仓库中拉取mysql镜像docker pull mysql查看镜像docker ...
随机推荐
- jQuery动画知识总结
jQuery动画概述 我们之前实现的下拉菜单的案例,是没有动画效果的,但是在日常开发中,动画效果是经常会用到的,所以我们可以尝试使用jQuery动画,将下拉菜单案例实现的更动感一些. jQuery提供 ...
- Android 自定义控件——图片剪裁
如图: 思路:在一个自定义View上绘制一张图片(参照前面提到的另一篇文章),在该自定义View上绘制一个自定义的FloatDrawable,也就是图中的浮层.绘制图片和FloatDrawable的交 ...
- [C]关于交换
交换(c,c++): 1)temp交换(也适用于非数型) 定义一个新的变量,借助它完成交换. int a,b; a=10; b=15; int t; t=a; a=b; b=t; 2)位运算 位运算不 ...
- Android高效加载大图
通过BitmapFactory的decode方法设置特定的options缩小图片到指定尺寸 1:通过加载设置了只编码图片边界options的图片,获取原图的尺寸和类型 2:计算图片需要缩小的倍数 3: ...
- (转)基于MVC4+EasyUI的Web开发框架形成之旅--框架总体界面介绍
http://www.cnblogs.com/wuhuacong/p/3344096.html 在前面介绍了一些关于最新基于MVC4+EasyUI的Web开发框架文章,虽然Web开发框架的相关技术文章 ...
- 图表库 - Highchart / Echart
当前主要使用HighChart和Echart图表库,都基于Jquery,需要先引用Jquery. 实际问题:引入Jquery需在图表库前,否则报错. HighChart官网:https://www.h ...
- 常用CSS代码片段常见css bug
1.禁止文字被选中 .unselectable { -moz-user-select: -moz-none; -khtml-user-select: none; -webkit-user-select ...
- SaltStact自动化运维工具01
什么是saltstackSaltstack是基于python开发的一套C/S架构配置管理工具使用SSL证书签方的方式进行认证管理底层使用ZeroMQ消息队列pub/sub方式通信 – 号称世界 ...
- bzoj 1293: [SCOI2009]生日礼物 问题转化 + 性质分析 + 滚动数组优化
Description 小西有一条很长的彩带,彩带上挂着各式各样的彩珠.已知彩珠有N个,分为K种.简单的说,可以将彩带考虑为x轴,每一个彩珠有一个对应的坐标(即位置).某些坐标上可以没有彩珠,但多个彩 ...
- 路飞学城Python-Day59(第五模块复习题)
HTML div标签是块级标签,单独一行,可以作为其他标签的容器,没有特定含义 span是内联标签,可以作为文本内容的容器,没有特定含义 1. 查询一下对div和span标签的理解 不同的标签有自己含 ...