zoukankan      html  css  js  c++  java
  • 自己制作redis 和mongo 镜像

      1 root@docker-lab:~/redis# ll
      2 total 16
      3 drwxr-xr-x  2 root root 4096 Feb 26 16:00 ./
      4 drwx------ 11 root root 4096 Feb 26 15:59 ../
      5 -rw-r--r--  1 root root  521 Feb 26 15:59 Dockerfile
      6 -rw-r--r--  1 root root  343 Feb 26 15:59 start.sh
      7 root@docker-lab:~/redis# cat Dockerfile
      8 #    Create By www1707@163.com
      9 
     10 FROM    centos:7
     11 
     12 COPY    start.sh /
     13 
     14 RUN    yum clean all && 
     15     yum update -y && 
     16     yum install -y wget make gcc && 
     17     wget http://download.redis.io/releases/redis-5.0.3.tar.gz && 
     18     tar xzf redis-5.0.3.tar.gz && 
     19     cd redis-5.0.3 && 
     20     make && make install && 
     21     cp redis.conf /etc/ && 
     22     sed -i 's/bind 127.0.0.1/#bind 127.0.0.1/' /etc/redis.conf && 
     23     sed -i 's/protected-mode yes/protected-mode no/' /etc/redis.conf && 
     24     cd / && rm -rf redis-5.0.3* && 
     25     chmod 755 /start.sh
     26 
     27 CMD    ["/start.sh"]
     28 
     29 root@docker-lab:~/redis# cat start.sh
     30 #!/bin/bash
     31 
     32 #    修改系统内核参数,在启动容器时必须使用 docker run --privileged ,否则修改的系统内核参数不会生效
     33 
     34 echo 1     > /proc/sys/vm/overcommit_memory && 
     35 echo 511   > /proc/sys/net/core/somaxconn && 
     36 echo never > /sys/kernel/mm/transparent_hugepage/enabled
     37 
     38 /usr/local/bin/redis-server /etc/redis.conf
     39 
     40 root@docker-lab:~/redis# docker build -t myredis .
     41 
     42     过程省略...
     43 
     44 root@docker-lab:~/redis# docker images
     45 REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
     46 myredis             latest              faf5b0d8ad98        7 seconds ago       428MB
     47 centos              7                   1e1148e4cc2c        2 months ago        202MB
     48 
     49 root@docker-lab:~/redis# docker run --privileged --name redis-server -d -p 6379:6379 myredis
     50 d1a84ea20ba7f01391d110beccf1f9c8b601516a6a9c9d929cad92ff2499c0e4
     51 
     52 root@docker-lab:~/redis# docker run --name redis-client -it -d  myredis
     53 f61f87c244c1492f82c91ae9d6ec1e45aadcb73e2a5ab4cc9977c9b1898c3a88
     54 
     55 root@docker-lab:~/redis# docker ps
     56 CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS                    NAMES
     57 f61f87c244c1        myredis             "/start.sh"         6 seconds ago        Up 5 seconds                                 redis-client
     58 d1a84ea20ba7        myredis             "/start.sh"         About a minute ago   Up About a minute   0.0.0.0:6379->6379/tcp   redis-server
     59 
     60 root@docker-lab:~/redis# docker inspect redis-server -f '{{.NetworkSettings.IPAddress}}'
     61 172.17.0.2
     62 
     63 root@docker-lab:~/redis# docker inspect redis-client -f '{{.NetworkSettings.IPAddress}}'
     64 172.17.0.3
     65 
     66 root@docker-lab:~/redis# docker logs redis-server
     67 8:C 26 Feb 2019 08:03:04.128 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
     68 8:C 26 Feb 2019 08:03:04.128 # Redis version=5.0.3, bits=64, commit=00000000, modified=0, pid=8, just started
     69 8:C 26 Feb 2019 08:03:04.128 # Configuration loaded
     70                 _._                                                  
     71            _.-``__ ''-._                                             
     72       _.-``    `.  `_.  ''-._           Redis 5.0.3 (00000000/0) 64 bit
     73   .-`` .-```.  ```/    _.,_ ''-._                                   
     74 (    '      ,       .-`  | `,    )     Running in standalone mode
     75 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
     76 |    `-._   `._    /     _.-'    |     PID: 8
     77   `-._    `-._  `-./  _.-'    _.-'                                   
     78 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
     79 |    `-._`-._        _.-'_.-'    |           http://redis.io        
     80   `-._    `-._`-.__.-'_.-'    _.-'                                   
     81 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
     82 |    `-._`-._        _.-'_.-'    |                                  
     83   `-._    `-._`-.__.-'_.-'    _.-'                                   
     84       `-._    `-.__.-'    _.-'                                       
     85           `-._        _.-'                                           
     86               `-.__.-'                                               
     87 
     88 
     89 
     90 
     91 8:M 26 Feb 2019 08:03:04.129 # Server initialized
     92 8:M 26 Feb 2019 08:03:04.129 * Ready to accept connections
     93 
     94 root@docker-lab:~/redis# docker exec -it redis-client /bin/bash
     95 [root@f61f87c244c1 /]# redis-cli -h 172.17.0.2
     96 172.17.0.2:6379> set foo bar
     97 OK
     98 172.17.0.2:6379> get foo
     99 "bar"
    100 172.17.0.2:6379> exit
    101 [root@f61f87c244c1 /]# exit
    102 exit
     1 root@docker-lab:~/mongodb# cat Dockerfile
     2 FROM    centos:7
     3 
     4 RUN    echo '[mongodb-org]' >>/etc/yum.repos.d/mongodb.repo && 
     5     echo 'name=MongoDB Repository' >>/etc/yum.repos.d/mongodb.repo && 
     6     echo 'baseurl=https://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el$releasever/' >>/etc/yum.repos.d/mongodb.repo && 
     7     echo 'gpgcheck=0' >>/etc/yum.repos.d/mongodb.repo && 
     8     echo 'enabled=1' >>/etc/yum.repos.d/mongodb.repo && 
     9     
    10     yum clean all && 
    11     yum install -y initscripts mongodb-org && 
    12     yum clean all && 
    13     
    14     echo 'mongod soft nofile 64000' >>  /etc/security/limits.conf && 
    15     echo 'mongod hard nofile 64000' >>  /etc/security/limits.conf && 
    16     echo 'mongod soft nproc  32000' >>  /etc/security/limits.conf && 
    17     echo 'mongod hard nproc  32000' >>  /etc/security/limits.conf && 
    18     
    19     sed -i 's/  bindIp: 127.0.0.1/#  bindIp: 127.0.0.1/' /etc/mongod.conf && 
    20     
    21     echo '#!/bin/bash' >> /start.sh && 
    22     echo 'echo "never" > /sys/kernel/mm/transparent_hugepage/enabled' >> /start.sh && 
    23     echo 'echo "never" >  /sys/kernel/mm/transparent_hugepage/defrag' >> /start.sh && 
    24     echo '/etc/init.d/mongod start ' >> /start.sh && 
    25     echo ' ' >>/start.sh && 
    26     echo 'while [ -e /var/run/mongodb/mongod.pid ]' >> /start.sh && 
    27     echo 'do' >> /start.sh && 
    28     echo '    sleep 1' >> /start.sh && 
    29     echo 'done' >> /start.sh && 
    30     chmod 755 /start.sh
    31 
    32 CMD    ["/start.sh"]
    33 
    34 root@docker-lab:~/mongodb# docker build -t mymongo .
    35 
    36     过程省略...
    37 
    38 root@docker-lab:~/mongodb# docker run --name mongo_server -d --privileged -p 27017:27017 mymongo
    39 4620a598a3457452d37446e2eeeaf292bbc3d0eca5a2f926695caf5c6da1c01f
    40 
    41 root@docker-lab:~/mongodb# docker run --name mongo_client -d  mymongo
    42 017d7a8ad77929b939ad72090ad318d0607a590927a156ae4468bfbf99b21499
    43 
    44 root@docker-lab:~/mongodb# docker inspect mongo_server  -f '{{.NetworkSettings.IPAddress}}'
    45 172.17.0.2
    46 root@docker-lab:~/mongodb# docker inspect mongo_client  -f '{{.NetworkSettings.IPAddress}}'
    47 172.17.0.3
    48 root@docker-lab:~/mongodb# docker logs mongo_server
    49 Starting mongod: [  OK  ]
    50 root@docker-lab:~/mongodb# docker exec -it mongo_client /bin/bash
    51 [root@017d7a8ad779 /]# mongo --host 172.17.0.2
    52 MongoDB shell version: 3.2.22
    53 connecting to: 172.17.0.2:27017/test
    54 Welcome to the MongoDB shell.
    55 For interactive help, type "help".
    56 For more comprehensive documentation, see
    57     http://docs.mongodb.org/
    58 Questions? Try the support group
    59     http://groups.google.com/group/mongodb-user
    60 > show dbs
    61 local  0.000GB
    62 > exit
    63 bye
    64 [root@017d7a8ad779 /]#
  • 相关阅读:
    VC++删除浮动工具条中“关闭”按钮
    automation无法创建对象
    SQL Server 不产生日志
    收缩数据文件
    VB DoEvents用法
    Sql Server添加用户
    Winsock错误代码一览表
    监控数据库性能的sql
    数据库日志文件清理脚本
    VB 中资源文件的多种使用技巧
  • 原文地址:https://www.cnblogs.com/www1707/p/10477193.html
Copyright © 2011-2022 走看看