• 利用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 world
    OK
    $ redis 172.17.0.6:6379> get hello
    "world"
    $ redis 172.17.0.6:6379> exit

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

  • 相关阅读:
    算法---递归及尾递归
    ScheduledThreadPoolExecutor之remove方法
    数据结构---队列及简单实现有界队列
    数据结构---栈及四则运算实现
    数据结构---链表及约瑟夫环问题带来的思考
    数据结构---数组
    时间复杂度和空间复杂度
    Redis缓存设计与性能优化
    Springboot+ELK实现日志系统简单搭建
    Docker学习笔记(三):Dockerfile及多步骤构建镜像
  • 原文地址:https://www.cnblogs.com/gradven/p/4849813.html
Copyright © 2020-2023  润新知