天天看点

Dockerfile构建简单的mysql

1、编写简单的mysql的Dockerfile文件

<code>[root@docker ~]</code><code># cd /opt/docker-file/mysql/</code>

<code>[root@docker mysql]</code><code># ls</code>

<code>Dockerfile</code>

<code>[root@docker mysql]</code><code># cat Dockerfile </code>

<code>FROM blalor</code><code>/centos</code>

<code>MAINTAINER molewan </code><code>"[email protected]"</code>

<code>RUN yum -y </code><code>install</code> <code>mysql-server mysql</code>

<code>RUN service mysqld start</code>

<code>RUN chkconfig mysqld on</code>

<code>EXPOSE 3306</code>

<code>CMD [</code><code>"/usr/bin/mysqld_safe"</code><code>]</code>

<code>[root@docker mysql]</code><code># docker build -t wan/mysql .</code>

2、查看生成的数据库镜像

<code>[root@docker mysql]</code><code># docker images</code>

<code>REPOSITORY                       TAG                 IMAGE ID            CREATED              VIRTUAL SIZE</code>

<code>wanlong</code><code>/mysql</code>                    <code>latest              eb33223bfe29        About a minute ago   498.1 MB</code>

<code>centos123                        latest              2a4997703ec3        5 days ago           213.9 MB</code>

<code>nginx-</code><code>file</code>                       <code>v1                  eabf358df7ea        6 days ago           512.2 MB</code>

<code>wordpress                        latest              62a9acf5fc2a        2 weeks ago          517.3 MB</code>

<code>nginx                            latest              bbb75b846e7b        2 weeks ago          134.5 MB</code>

<code>dockerui</code><code>/dockerui</code>                <code>latest              95c8b9dc91e0        4 weeks ago          6.13 MB</code>

<code>redis                            latest              34ca6ac180ad        4 weeks ago          151.2 MB</code>

<code>mongo                            latest              ad74160b3443        4 weeks ago          317.4 MB</code>

<code>registry                         latest              07d93e41c370        4 weeks ago          422.8 MB</code>

<code>daocloud.io</code><code>/library/python</code>       <code>latest              a2db1214d015        4 weeks ago          689.1 MB</code>

<code>debian                           latest              5eb1402f0414        5 weeks ago          125.1 MB</code>

<code>daocloud.io</code><code>/library/ubuntu</code>       <code>latest              8693db7e8a00        5 weeks ago          187.9 MB</code>

<code>centos                           latest              60e65a8e4030        9 weeks ago          196.6 MB</code>

<code>joedval</code><code>/stress</code>                   <code>latest              7eb627cb08a2        12 weeks ago         214.9 MB</code>

<code>doumadou</code><code>/centos6</code><code>.5_x86_64-base   latest              5bcd27f3a345        7 months ago         429.8 MB</code>

<code>lemonbar</code><code>/centos6-ssh</code>             <code>latest              b78c71c001db        19 months ago        296.9 MB</code>

<code>blalor</code><code>/centos</code>                    <code>latest              f01c1b138488        20 months ago        322.4 MB</code>

3、使用镜像构建容器,并进行查看

<code>[root@docker mysql]</code><code># docker run --name mysql123 -d -p 3306 wanlong/mysql</code>

<code>0eb98e3c3e60ce9082a92a2adb5c02a426e90dc1cb4cc6ddccbac40c549f5a44</code>

<code>[root@docker mysql]</code><code># docker ps -l</code>

<code>CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS                     NAMES</code>

<code>0eb98e3c3e60        wanlong</code><code>/mysql</code>       <code>"</code><code>/usr/bin/mysqld_saf</code>   <code>5 seconds ago       Up 4 seconds        0.0.0.0:32768-&gt;3306</code><code>/tcp</code>   <code>mysql123</code>

4、进入容器,并进行测试(端口号以及数据库)

<code>[root@docker ~]</code><code># ./in.sh 0eb98e3c3e60</code>

<code>-</code><code>bash</code><code>: BASH_FUNC_module(): line 0: syntax error near unexpected token `)</code><code>'-bash: BASH_FUNC_module(): line 0: `BASH_FUNC_module() () {  eval `/usr/bin/modulecmd bash $*`'</code><code>-</code><code>bash</code><code>: error importing </code><code>function</code> <code>definition </code><code>for</code> <code>`BASH_FUNC_module'</code>

<code>-</code><code>bash</code><code>-4.1</code><code># ls</code>

<code>bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  sbin  selinux  srv  sys  tmp  usr  var-</code>

<code>bash</code><code>-4.1</code><code># netstat -tunlp</code>

<code>Active Internet connections (only servers)Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID</code><code>/Program</code> <code>name   tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      91</code><code>/mysqld</code>

<code>-</code><code>bash</code><code>-4.1</code><code># mysql -u root</code>

<code>Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection </code><code>id</code> <code>is 1Server version: 5.1.73 Source distribution</code>

<code>Copyright (c) 2000, 2013, Oracle and</code><code>/or</code> <code>its affiliates. All rights reserved.</code>

<code>Oracle is a registered trademark of Oracle Corporation and</code><code>/or</code> <code>itsaffiliates. Other names may be trademarks of their respectiveowners.</code>

<code>Type </code><code>'help;'</code> <code>or </code><code>'\h'</code> <code>for</code> <code>help. Type </code><code>'\c'</code> <code>to </code><code>clear</code> <code>the current input statement.</code>

<code>mysql&gt; show databases;</code>

<code>+--------------------+| Database           |+--------------------+| information_schema || mysql              || </code><code>test</code>               <code>|+--------------------+3 rows </code><code>in</code> <code>set</code> <code>(0.00 sec)</code>

5、in.sh

<code>[root@docker ~]</code><code># cat in.sh </code>

<code>#!/bin/bash</code>

<code>CNAME=$1</code>

<code>CPID=$(docker inspect --</code><code>format</code> <code>"``.`State`.`Pid`"</code> <code>$CNAME)</code>

<code>nsenter --target </code><code>"$CPID"</code> <code>--</code><code>mount</code> <code>--uts --ipc --net --pid</code>

本文转自 冰冻vs西瓜 51CTO博客,原文链接:http://blog.51cto.com/molewan/1746463,如需转载请自行联系原作者