构造并运行一个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 world

OK

$ redis 172.17.0.6:6379> get hello

"world"

$ redis 172.17.0.6:6379> exit

至此一个包含Redis服务的Docker容器就创建完成了。

时间: 2024-08-06 14:55:24

构造并运行一个Redis容器的相关文章

通过运行一个tomcat容器来记录下初学docker常用的几个命令---容器篇

1.查看容器列表 显示正在运行的容器: [[email protected] HMK]# docker ps 显示所有容器,包括未运行的: [[email protected] HMK]# docker ps -a CONTAINER ID:容器的ID IMAGE:启动容器使用的镜像 CREATED:创建时间 STATUS: 状态 PORTS:端口映射信息 NAMES:容器名称 2.使用tomcat镜像启动一个容器,并挂载宿主机中的/HMK/helloword/webapps/HelloWorl

&lt;Redis实战&gt;5.4.2 每个应用组件使用一个Redis服务器

原文:https://redislabs.com/ebook/redis-in-action/part-2-core-concepts-2/chapter-5-using-redis-for-application-support/5-4-service-discovery-and-configuration/5-4-2-one-redis-server-per-application-component 随着使用Redis越来越多,无数的开发者发现,某些时候,我们的第一个Redis服务器已经变

在Windows上弄一个redis的docker容器

Docker核心概念简介 镜像是一个面向docker引擎的只读模板,包含了文件系统. 镜像是创建容器的基础,容器类似于一个沙箱,用来运行和隔离应用. 容器是从镜像创建的应用运行实例,可以启动.开始.停止.删除,容器之间是相互隔离的. Windows上安装docker 下载最新的docker-installer.exe:https://github.com/boot2docker/windows-installer/releases/latest 安装过程中所有选项全选,安装后会自动重启机器. 重

运行第一个Docker容器

1. Docker介绍 Docker由dotCloud公司发起的一个内部项目,后来Docker火了,dotCloud公司改名为Docker了: Docker使用了Go语言开发,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术: Docker vs VM如下图所示: 2. Docker的安装 Docker现在区分Community Edition,简称:CE版本:Enterprise Edi

Docker实战之创建一个tomcat容器

一.Docker与虚拟机的区别 二.Docker学习步骤 2.1:安装宿主操作系统 在VMVare中安装了Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-62-generic x86_64) 64位操作系统 建议内核在 3.8 以上,执行uname –r 查看内核如下图所示 2.2:更新系统 Ubuntu在安装的过程中没有指定root用户密码的操作,所以我们需要给root用户一个密码 命令如下 sudo passwd 系统会提示Enter New UNIX OR LINU

【中英对照】【EntLib6】【Unity】实验1:使用一个Unity容器

Lab 1: Using a Unity Container 实验1:使用一个Unity容器 Estimated time to complete this lab: 15 minutes 估计完成时间:15分钟 Introduction 介绍 In this lab, you will practice using a Unity container to create application objects and wire them together. You will update a

搭建一个redis高可用系统

一.单个实例 当系统中只有一台redis运行时,一旦该redis挂了,会导致整个系统无法运行. 单个实例 二.备份 由于单台redis出现单点故障,就会导致整个系统不可用,所以想到的办法自然就是备份(一般工业界认为比较安全的备份数应该是3份).当一台redis出现问题了,另一台redis可以继续提供服务. 备份 三.自动故障转移 虽然上面redis做了备份,看上去很完美.但由于redis目前只支持主从复制备份(不支持主主复制),当主redis挂了,从redis只能提供读服务,无法提供写服务.所以

在 Docker 上运行一个 RESTful 风格的微服务

tags: Microservice Restful Docker Author: Andy Ai Weibo:NinetyH GitHub: https://github.com/aiyanbo/docker-restful-demo 实现构思 1. 使用 Maven 进行项目构建 2. 使用 Jersey 实现一个 RESTful 风格的微服务 3. 在 Docker 里面执行 mvn package 对项目打包 4. 在 Docker 容器里运行这个微服务 实现一个微服务 场景 & 需求

运行第一个容器 - 每天5分钟玩转容器技术(4)

为了让大家对容器有个感性认识,我们将尽快让一个容器运行起来. 首先我们需要搭建实验环境. 环境选择 容器需要管理工具.runtime 和操作系统,我们的选择如下: 管理工具 - Docker Engine因为 Docker 最流行使用最广泛. runtime - runcDocker 的默认 runtime 操作系统 - Ubuntu虽然存在诸如 CoreOS 的容器 OS,因考虑到我们目前处于初学阶段,选择大家熟悉的操作系统更为合适.等具备了扎实的容器基础知识后再使用容器 OS 会更有利. 安