root@docker-lab:~/redis# ll
total
drwxr-xr-x root root Feb : ./
drwx------ root root Feb : ../
-rw-r--r-- root root Feb : Dockerfile
-rw-r--r-- root root Feb : start.sh
root@docker-lab:~/redis# cat Dockerfile
# Create By www1707@.com FROM centos: COPY start.sh / RUN yum clean all && \
yum update -y && \
yum install -y wget make gcc && \
wget http://download.redis.io/releases/redis-5.0.3.tar.gz && \
tar xzf redis-5.0..tar.gz && \
cd redis-5.0. && \
make && make install && \
cp redis.conf /etc/ && \
sed -i 's/bind 127.0.0.1/#bind 127.0.0.1/' /etc/redis.conf && \
sed -i 's/protected-mode yes/protected-mode no/' /etc/redis.conf && \
cd / && rm -rf redis-5.0.* && \
chmod /start.sh CMD ["/start.sh"] root@docker-lab:~/redis# cat start.sh
#!/bin/bash # 修改系统内核参数,在启动容器时必须使用 docker run --privileged ,否则修改的系统内核参数不会生效 echo > /proc/sys/vm/overcommit_memory && \
echo > /proc/sys/net/core/somaxconn && \
echo never > /sys/kernel/mm/transparent_hugepage/enabled /usr/local/bin/redis-server /etc/redis.conf root@docker-lab:~/redis# docker build -t myredis . 过程省略... root@docker-lab:~/redis# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
myredis latest faf5b0d8ad98 seconds ago 428MB
centos 1e1148e4cc2c months ago 202MB root@docker-lab:~/redis# docker run --privileged --name redis-server -d -p : myredis
d1a84ea20ba7f01391d110beccf1f9c8b601516a6a9c9d929cad92ff2499c0e4 root@docker-lab:~/redis# docker run --name redis-client -it -d myredis
f61f87c244c1492f82c91ae9d6ec1e45aadcb73e2a5ab4cc9977c9b1898c3a88 root@docker-lab:~/redis# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f61f87c244c1 myredis "/start.sh" seconds ago Up seconds redis-client
d1a84ea20ba7 myredis "/start.sh" About a minute ago Up About a minute 0.0.0.0:->/tcp redis-server root@docker-lab:~/redis# docker inspect redis-server -f '{{.NetworkSettings.IPAddress}}'
172.17.0.2 root@docker-lab:~/redis# docker inspect redis-client -f '{{.NetworkSettings.IPAddress}}'
172.17.0.3 root@docker-lab:~/redis# docker logs redis-server
:C Feb ::04.128 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
:C Feb ::04.128 # Redis version=5.0., bits=, commit=, modified=, pid=, just started
:C Feb ::04.128 # Configuration loaded
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 5.0. (/) bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port:
| `-._ `._ / _.-' | PID: 8
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-' :M Feb ::04.129 # Server initialized
:M Feb ::04.129 * Ready to accept connections root@docker-lab:~/redis# docker exec -it redis-client /bin/bash
[root@f61f87c244c1 /]# redis-cli -h 172.17.0.2
172.17.0.2:> set foo bar
OK
172.17.0.2:> get foo
"bar"
172.17.0.2:> exit
[root@f61f87c244c1 /]# exit
exit
 root@docker-lab:~/mongodb# cat Dockerfile
FROM centos: RUN echo '[mongodb-org]' >>/etc/yum.repos.d/mongodb.repo && \
echo 'name=MongoDB Repository' >>/etc/yum.repos.d/mongodb.repo && \
echo 'baseurl=https://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el$releasever/' >>/etc/yum.repos.d/mongodb.repo && \
echo 'gpgcheck=0' >>/etc/yum.repos.d/mongodb.repo && \
echo 'enabled=1' >>/etc/yum.repos.d/mongodb.repo && \
\
yum clean all && \
yum install -y initscripts mongodb-org && \
yum clean all && \
\
echo 'mongod soft nofile 64000' >> /etc/security/limits.conf && \
echo 'mongod hard nofile 64000' >> /etc/security/limits.conf && \
echo 'mongod soft nproc 32000' >> /etc/security/limits.conf && \
echo 'mongod hard nproc 32000' >> /etc/security/limits.conf && \
\
sed -i 's/ bindIp: 127.0.0.1/# bindIp: 127.0.0.1/' /etc/mongod.conf && \
\
echo '#!/bin/bash' >> /start.sh && \
echo 'echo "never" > /sys/kernel/mm/transparent_hugepage/enabled' >> /start.sh && \
echo 'echo "never" > /sys/kernel/mm/transparent_hugepage/defrag' >> /start.sh && \
echo '/etc/init.d/mongod start ' >> /start.sh && \
echo ' ' >>/start.sh && \
echo 'while [ -e /var/run/mongodb/mongod.pid ]' >> /start.sh && \
echo 'do' >> /start.sh && \
echo ' sleep 1' >> /start.sh && \
echo 'done' >> /start.sh && \
chmod /start.sh CMD ["/start.sh"] root@docker-lab:~/mongodb# docker build -t mymongo . 过程省略... root@docker-lab:~/mongodb# docker run --name mongo_server -d --privileged -p : mymongo
4620a598a3457452d37446e2eeeaf292bbc3d0eca5a2f926695caf5c6da1c01f root@docker-lab:~/mongodb# docker run --name mongo_client -d mymongo
017d7a8ad77929b939ad72090ad318d0607a590927a156ae4468bfbf99b21499 root@docker-lab:~/mongodb# docker inspect mongo_server -f '{{.NetworkSettings.IPAddress}}'
172.17.0.2
root@docker-lab:~/mongodb# docker inspect mongo_client -f '{{.NetworkSettings.IPAddress}}'
172.17.0.3
root@docker-lab:~/mongodb# docker logs mongo_server
Starting mongod: [ OK ]
root@docker-lab:~/mongodb# docker exec -it mongo_client /bin/bash
[root@017d7a8ad779 /]# mongo --host 172.17.0.2
MongoDB shell version: 3.2.
connecting to: 172.17.0.2:/test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
> show dbs
local .000GB
> exit
bye
[root@017d7a8ad779 /]#

自己制作redis 和mongo 镜像的更多相关文章

  1. MySQL、MongoDB、Redis数据库Docker镜像制作

    MySQL.MongoDB.Redis数据库Docker镜像制作 在多台主机上进行数据库部署时,如果使用传统的MySQL的交互式的安装方式将会重复很多遍.如果做成镜像,那么我们只需要make once ...

  2. 使用Dockerfile制作自己的Docker镜像

    一.背景 一直以来的开发流程都是先从Docker Hub中获取到基础镜像,之后在这个镜像的基础上做开发,以满足一定的需求或者提供某种服务,并由此产生新的镜像,然后就可以push到Docker Hub中 ...

  3. 使用systemback制作Ubuntu自定义系统镜像和系统备份(抄)

    使用systemback制作Ubuntu自定义系统镜像和系统备份 2017年06月23日 16:17:51 BWBOT 阅读数:10714   原链接:https://community.bwbot. ...

  4. 制作自己的docker镜像

    制作自己的Docker镜像主要有如下两种方式: 1.使用docker commit 命令来创建镜像 通过docker run命令启动容器 修改docker镜像内容 docker commit提交修改的 ...

  5. Redis vs Mongo vs mysql

    Redis 和 Mongo 都属于 No-SQL类型的数据库,他们的区别,联系是什么呢?看了一些文章,特总结如下. Redis 最大的特点是,快!为什么快,因为他将大量的东西存储在了memory中.但 ...

  6. OpenStack手动制作CentOS 7 KVM镜像

    在前面讲解KVM的时候,我们已经学习了如何制作KVM镜像,那么制作OpenStack使用的镜像和KVM是有一些区别的. 1.    下载CentOS 7官方ISO安装镜像这里使用国内阿里云的镜像源进行 ...

  7. alpine制作jdk、jre镜像、自定义镜像上传阿里云

    alpine制作jdk镜像 alpine Linux简介 1.Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和 BusyBo ...

  8. 制作linux云主机镜像

    目录 制作linux云主机镜像 1.物理机环境准备 2.安装kvm虚拟机 3.操作虚拟机 4.在物理机上处理镜像 5.拷贝制作好的raw格式的镜像 6.发布镜像到云平台 制作linux云主机镜像 1. ...

  9. 制作OpenOffice的Docker镜像并添加中文字体解决乱码问题

    官网下载openoffice http://www.openoffice.org/download/index.html 本文使用的是Docker官方发布的CentOS7镜像作为基础镜像.镜像的获取方 ...

随机推荐

  1. MT【247】恒成立画图像

    若$|x^2+|x-a|+3a|\le2$对任意$x\in[-1,1]$恒成立,则$a$ 的取值范围_____ 分析:转化为$f(x)=|x-a|+3a$的图像夹在$y=-2-x^2$与$y=2-x^ ...

  2. Shell 字符截取命令 awk

    awk命令# awk '条件1{动作1} 条件2{动作2}….' 文件名一般使用关系表达式作为条件动作:1.格式化输出 2.流程控制语句 处理cut命令无法截取空格的列 例子:截取出磁盘使用率 df ...

  3. 在 CentOS 上编写 init.d service script [转]

    背景:之前编写了一些脚本,下载了一些开源软件,想把它们做成系统服务,通过 service your_prog_name start 这样的方式来后台运行,并在开机时自动启动.在了解了 daemon 命 ...

  4. attr prop jquery关于获取DOM属性值的两个函数

    $('#domid').attr('acitve') $('#domid').prop('checked') // 在使用JQUERY获取DOM元素的属性时,有两个函数,attr 和 prop < ...

  5. Nginx log日志参数详解

    $args #请求中的参数值$query_string #同 $args$arg_NAME #GET请求中NAME的值$is_args #如果请求中有参数,值为"?",否则为空字符 ...

  6. 利用LVS+Keepalived搭建Mysql双主复制高可用负载均衡环境

    应用背景: MySQL复制(主主,主从...)能在保证数据的备份的同时也能够做读写分离分摊系统压力,但是发生单点故障时,需要手动 切换到另外一台主机.LVS和Keppalived可以设定一个VIP来实 ...

  7. CentOS6 部署 Tomcat

    安装java软件 yum install java-1.8.0* -y 设置开机自启,在/etc/init.d/下新建 tomcat 写入以下内容: #!/bin/bash # /etc/rc.d/i ...

  8. Codeforces Round #487 (Div. 2) C - A Mist of Florescence

    C - A Mist of Florescence 把50*50的矩形拆成4块 #include<bits/stdc++.h> using namespace std; ],b[]; ][ ...

  9. navicat primium 快捷键与命令

    1.ctrl+q          打开查询窗口 2.ctrl+/           注释sql语句 3.ctrl+shift +/  解除注释 4.ctrl+r          运行查询窗口的s ...

  10. A1057. Stack

    Stack is one of the most fundamental data structures, which is based on the principle of Last In Fir ...