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. Navicat再次激活

    换了个新电脑,上一次激活用的注册机老被杀掉,defender什么的都关了,不知道是谁在暗中保护我的电脑.. 上个激活参考:https://www.cnblogs.com/MC-Curry/p/9765 ...

  2. 数论细节梳理&模板

    初阶 扩展欧拉 \(k\ge\varphi(m)\)时,\(b^k\equiv b^{k\%\varphi(m)+\varphi(m)}(\bmod m\)) 扩展CRT 推式子合并同余方程. htt ...

  3. Hdoj 1115.Lifting the Stone 题解

    Problem Description There are many secret openings in the floor which are covered by a big heavy sto ...

  4. Hdoj 2108.Shape of HDU 题解

    Problem Description 话说上回讲到海东集团推选老总的事情,最终的结果是XHD以微弱优势当选,从此以后,"徐队"的称呼逐渐被"徐总"所取代,海东 ...

  5. [NOI2014]购票(斜率优化+线段树)

    题目描述 今年夏天,NOI在SZ市迎来了她30周岁的生日.来自全国 n 个城市的OIer们都会从各地出发,到SZ市参加这次盛会. 全国的城市构成了一棵以SZ市为根的有根树,每个城市与它的父亲用道路连接 ...

  6. JS判断手机还是电脑访问网站

    function check() { let browser = navigator.userAgent;//用户访问的类型 let phone = ["Android", &qu ...

  7. poj3630 Phone List

    spy on一下,发现是trie裸题,结果一交就T... 然后把cin改成scanf就A了... trie的空间一定要开足,要不然RE #include <cstdio> #include ...

  8. [hdu6183][Color it]

    题目链接 题目大意 有一个矩阵,总共有4种操作 0:清空这个矩阵 1 x y c:将\((x,y)(1 \leq x ,y\leq 10^6)\)这个点加上一种颜色c\((0\leq c \leq 5 ...

  9. SetCapture() & ReleaseCapture() 捕获窗口外的【松开左键事件】: WM_LBUTTONUP

    今天在窗口上绘图的时候,遇到一个问题:在特殊情况下,当用户在窗口中按下鼠标左键,然后移动到窗口外松开鼠标左键,这时程序中只能捕获到 WM_LBUTTONDOWN(按下) 和 WM_MOUSEMOVE( ...

  10. (sort)P1068 分数线划定 洛谷

    题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,AA市对 所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试.面试分数线根 据计划录取人数的150\% ...