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. 爬虫_淘宝(selenium)

    总体来说代码还不是太完美 实现了js渲染网页的解析的一种思路 主要是这个下拉操作,不能一下拉到底,数据是在中间加载进来的, 具体过程都有写注释 from selenium import webdriv ...

  2. 自学Python3.4-函数分类(匿名函数)

    自学Python之路-Python基础+模块+面向对象自学Python之路-Python网络编程自学Python之路-Python并发编程+数据库+前端自学Python之路-django 自学Pyth ...

  3. 自学Python4.7-生成器(方式一:生成器函数)

    自学Python之路-Python基础+模块+面向对象自学Python之路-Python网络编程自学Python之路-Python并发编程+数据库+前端自学Python之路-django 自学Pyth ...

  4. Nginx优化文件编写

    server_tokens off; #并不会让nginx执行的速度更快,关闭它可隐藏错误页面中的nginx版本号charset utf-8,gbk; #字符#sendfile on;#tcp_nop ...

  5. 清理XFCE4卸载残留

    apt-get remove xfce4 apt-get remove xfce4* apt-get autoremove apt-get autoclean apt-get clean --- 更新 ...

  6. LOJ#6283. 数列分块入门 7

    对于每个区间先乘在加,如果我修改的是部分的块,我就需要把现这个块的add和mul标记全部放下去,然后再更新. #include<map> #include<set> #incl ...

  7. [JSOI2008]Blue Mary的职员分配

    由于Blue Mary呕心沥血的管理,Blue Mary的网络公司蒸蒸日上.现在一共拥有了n名职员,可惜没有任何的金钱和声誉.平均每名每天职员都可以给公司带来x单位金钱或者y单位声誉(名利不能双全). ...

  8. CAN总线网络的传输模式

    CAN总线网络的传输模式根据触发条件的不同,在车身CAN网络中可分为事件型.周期性及混合型三种传输模式: 1.事件型传输模式: 随着类型或数据的转变及时发送的消息.此类型消息的好处是极少占用总线资源, ...

  9. 群福利:Redis云服务器免费领取(附Redis安装和连接远程连接Redis案例)

    Redis安装:在线体验:https://try.redis.io Ubuntu:sudo apt-get install redis CentOS:yum install redis (root权限 ...

  10. [CTSC2018]暴力写挂——边分树合并

    [CTSC2018]暴力写挂 题面不错 给定两棵树,两点“距离”定义为:二者深度相加,减去两棵树上的LCA的深度(深度指到根节点的距离) 求最大的距离. 解决多棵树的问题就是降维了. 经典的做法是边分 ...