pull redis 镜像


创建redis的镜像有几种方式,可以直接从仓库中拉取,也可以采用dockerfile文件自己编译创建。 
基于已有的redis镜像,docker可以采用run,或者create->start两种方式创建容器。

1.docker run

在构建镜像,要提供访问redis的端口,-p为端口映射的 
1)创建并启动,设置端口映射

[root@vm000949 ~]# docker run -p 127.0.0.1:6379:6379 -it --name="my-redis-server" -d redis
d66037100bddcd230e0c9955bdfb9b0dbae8ce4028a81534e1693ab95737c90a
[root@vm000949 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d66037100bdd redis "docker-entrypoint.sh" 6 seconds ago Up 5 seconds 127.0.0.1:6379->6379/tcp my-redis-server

docker run:重新创建一个容器并运行命令,语法如下: 
Docker run [OPTIONS] IMAGES [COMMAND][ARG] 
通常用的OPTIONS为: 
-t 为容器分配一个伪输入终端 
-I 以交互模式运行容器 
-name 为容器指定名称 
-d 以后台模式运行 
-p 端口映射

查看端口映射情况,其中e24b3e0a7df0为redis的容器。

[root@vm000949 ~]# docker port e24b3e0a7df0
6379/tcp -> 127.0.0.1:6379

2)进入redis容器里面

docker exec -it e24b3e0a7df0 redis-cli
127.0.0.1:6379> set day newDay
OK
127.0.0.1:6379> get day
"newDay"
127.0.0.1:6379> exit

docker exec语法如下:

Docker exec [OPTIONS] CONTAINER COMMAND [ARG]

其中OPIONS包括: 
-d :分离模式: 在后台运行 
-i :即使没有附加也保持STDIN 打开 
-t :分配一个伪终端 
这就是一个简单的创建过程,直接run就是一个创建并启动的容器。

查看当前虚拟机上的端口映射情况:

[root@vm000949 ~]# netstat -apn|grep 6379
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 2270/docker-proxy-c

上述是直接采用run方式,而更为正确的生命周期应该为: 
create->start->exec 
如果容器已经停止了,直接start,然后exec。采用run将会根据命令再创建一个docker 
比如要重新开始,需要删除现在这个容器

[root@vm000949 ~]# docker rm 695d5f6afc27
Error response from daemon: You cannot remove a running container 695d5f6afc27415126a40384a868c751ba635df2d4d7fb578424bc1bd9167166. Stop the container before attempting removal or use -f

提示不能删除一个正在运行的容器。

[root@vm000949 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
695d5f6afc27 redis "docker-entrypoint.sh" 14 minutes ago Up 8 minutes 127.0.0.1:6379->6379/tcp ecstatic_lamarr

将该容器stop,并删除容器

[root@vm000949 ~]# docker stop 695d5f6afc27
695d5f6afc27

2.docker create

创建容器的语法与run相似

[root@vm000949 ~]# docker create -p 127.0.0.1:6379:6379 -it --name="my-redis-server" -d redis
unknown shorthand flag: 'd' in -d
See 'docker create --help'.

如果直接将run修改为create,会报错,在没有开始运行无法执行-d参数

[root@vm000949 ~]# docker create -p 127.0.0.1:6379:6379 -it --name="my-redis-server"  redis
Error response from daemon: Conflict. The name "/my-redis-server" is already in use by container d66037100bddcd230e0c9955bdfb9b0dbae8ce4028a81534e1693ab95737c90a. You have to remove (or rename) that container to be able to reuse that name.

提示上次run创建的容器没有删除

[root@vm000949 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@vm000949 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d66037100bdd redis "docker-entrypoint.sh" 3 minutes ago Exited (0) About a minute ago my-redis-server [root@vm000949 ~]# docker rm d66037100bdd
D66037100bdd

删除后重新创建:

[root@vm000949 ~]# docker create -p 127.0.0.1:6379:6379 -it --name="my-redis-server"  redis
2596bd8886b4095dc80e23315a5e073addb50fc9aa959456e026e6ca31676d28
[root@vm000949 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2596bd8886b4 redis "docker-entrypoint.sh" 8 seconds ago Created my-redis-server

启动容器:

[root@vm000949 ~]# docker start my-redis-server
my-redis-server
[root@vm000949 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2596bd8886b4 redis "docker-entrypoint.sh" About a minute ago Up 3 seconds 127.0.0.1:6379->6379/tcp my-redis-server
进入容器:
[root@vm000949 ~]# docker exec -it my-redis-server redis-cli
127.0.0.1:6379> exit

从上面两种方式可以看出create->start->exec的生命周期比较的直观。其中,Docker run命令包括create和start两个生命周期。

最后:docker的日志文件放在/var/lib/docker/containers/下,每个docker都有对应的文件,cat 其-json.log文件获得日志文件.在磁盘空间中,日志文件也许会占用很大的空间,就需要进行清理。

docker创建redis镜像的更多相关文章

  1. Docker 创建 Redis 容器

    Docker 创建 Redis 容器 # 配置文件映射: # -v /root/redis/redis.conf:/etc/redis/redis.conf # 数据目录映射: # -v /root/ ...

  2. docker创建Redis集群

    开始工作: yum install wegt ##安装下载工具 yum install net-tools ##安装网络工具 yum install tree ##安装tree命令(方便查看集群配置文 ...

  3. docker创建redis容器

    1.拉取最新的redis镜像 docker pull redis; 2.创建存放redis数据的目录 mkdir /redis/data 3.查询redis镜像id docker images; RE ...

  4. 使用docker创建redis容器

    1.拉取redis镜像

  5. 验证docker的Redis镜像也存在未授权访问漏洞

    看到了这篇老外的博客:Over 30% of Official Images in Docker Hub Contain High Priority Security Vulnerabilities于 ...

  6. docker创建nginx镜像

    注意:此处不是用的dockerfile创建的镜像,只是用来搞一搞 首先你的系统里面要安装docker,这里就不重复介绍了,可以看之前的文章: 然后再搞一个基础镜像 docker pull regist ...

  7. Docker创建私有镜像仓库

    Docker官方提供了一个工具docker-registry,可以借助这个工具构建私有镜像仓库: 1.拉取registry镜像 # docker pull registry//可以使用 docker ...

  8. docker 创建本地镜像服务器

    1.docker pull registry //下载registry 镜像,registry 为docker 官方提供的一个镜像, 我们可以用它来创建本地的docker私有仓库. docker:/r ...

  9. docker 创建mysql镜像,并成功进行远程连接

    1.安装 1.1 拉取镜像 docker pull mysql 拉取成功可以验证一下 docker images 1.2 创建并启动一个mysql容器 docker run --name ly-mys ...

随机推荐

  1. unittest单元测试框架之unittest 框架的总结(七)

    1. Unittest 是 python 自带的单元测试框架,可以用其作为自动化框架来组织测试用例(测 试用例的执行顺序)的执行. 2. Unittest 框架的流程: 写好 TestCase 通过 ...

  2. oracle本地安装注意事项

    这两天组员在本地windows上安装oracle数据库,安装完各种问题,pl/sql developer以及tns_admin配置以及tnsnames.ora和sqlnet.ora listener. ...

  3. shell习题第1题:每日一文件

    [题目要求] 请按照这样的日期格式(xxxx-xx-xx)每日生成一个文件 例如生成的文件为2019-04-25.log,并且把磁盘使用情况写入到这个文件中 不用考虑cron,仅仅写脚本即可 [核心要 ...

  4. jQuery实现 自动滚屏操作

    实现自动滚屏思路: 1.滚屏即:文本的往上移动一段距离: 2.那么我们使文本每过一段时间就往上移动一段固定距离,就可实现滚屏: 3.直到文本底部出现在浏览器窗口中,专业点就是 文本移动的距离 + 浏览 ...

  5. 如何使用git命令从github上取得项目

    首先我们要安装git, git官网:https://git-scm.com/点击打开链接 拉取项目步骤详解 新建文件夹,最好取为项目英文名***Project 进入文件夹,空白处右键,选择git Ba ...

  6. Vue learning experience

    一.内置指令[v-ref] Official-document-expression: 父组件在子组件上注册的索引,便于直接访问.不需要表达式,必须提供参数ID,可以通过父组件的$ref对象访问子组件 ...

  7. Git命令中日常不注意又很重要的坑

    引言   简单聊一下Git的常用命令和概念,其中很多命令开发者在使用时用法不当导致出现很多问题:   比如,新创建的分支没有追踪想要追踪的分支,很想看到版本提交的内容   以下是觉得比较好用并且完整的 ...

  8. thinkphp5.0上对redis的具体操作

    一.环境搭建 首先先安装composer.thinkphp5.0版本.和redis的windows版本的redis程序或者linux版本的redis程序,linux安装教程: https://www. ...

  9. Docker之centos 简单安装

    centos6因为系统自带的可执行的应用程序与 docker 包名字发生冲突,所以重新命名 docker 的RPM包名字为 docker-io. 首先卸载docker包 sudo yum -y rem ...

  10. opencv移植(二)

    原文:https://blog.csdn.net/Guet_Kite/article/details/78667175?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接 ...