您的位置:首页 > 运维架构 > Docker

docker镜像ushios/lamp-ubuntu的使用总结

2015-05-26 00:15 651 查看
背景:

         最近公司的禅道系统不稳定,时不时的挂掉,过会儿又自动可以访问,想把Window Server 2003系统下的禅道迁移至Linux系统下。由于禅道系统是php+mysql组成,因此,需要搭建LAMP环境,即Linux+Apache+Mysql+PHP环境,考虑到到LAMP环境,如果是采用安装虚拟机Ubuntu+安装Apache+安装Mysql+安装PHP,那么会比较费劲,而且不方便迁移。

        最终,我选择了docker方式来部署,即下载了ushios/lamp-ubuntu镜像,基于此镜像创建容器。网络速度可以的话,半个小时内能下载完ushios/lamp-ubuntu镜像,接近800M,秒级内就能创建好容器,就完成了lamp环境的准备。

以下介绍ushios/lamp-ubuntu镜像的使用,不介绍禅道的迁移

(1)准备个docker环境

(2)下载ushios/lamp-ubuntu镜像,执行如下:

         #sudo docker pull ushios/lamp-ubuntu:latest

(3)创建容器,执行如下:

       #sudo docker run -d -p 49001:80 -p 49002:3306 -p 49003:22 -v /data:/mnt ushios/lamp-ubuntu

        //以上端口49001、49002、49003可以自己指定

        //以上的-v /data:/mnt  映射,是宿舍机目录:容器的目录,建议还要对mysql数据文件存放目录/var/lib/mysql/和php的数据存放目录/var/www/html/做映射,根据具体情况可以映射子目录。

        注意:a)容器内的目录/tmp最好不要做映射,可能会影响到mysql数据库的使用

                    b)映射的目录路径会自动创建

                      c)宿主机的目录会覆盖容器的目录(如果容器内的目录要求不被覆盖,那可以先备份,然后在拷贝回去)

(4)访问apache2
            http://ip:49001
           说明:以上ip为宿主机的ip
(5)访问数据库
           #mysql -u root -p
          说明:以上命令要在容器内执行,默认密码为空,可以设置root的密码,即,#mysqladmin -u root password "123456"。如果正常登陆mysql命令操作界面,会显示mysql>
           登陆后可以执行如下进行查看:
mysql>show databases;               //查看数据库
mysql>use mysql;                        //使用mysql库
mysql>show tables;                    //查看mysql库下的表
           
(6)容器内apache2、mysqld、sshd服务的启动和停止
          #supervisorctl status            //查看服务状态
         #supervisorctl  stop apache2      //停止apache2服务
         #supervisorctl  start apache2
          #supervisorctl  restart apache2

         #supervisorctl  stop mysqld        //停止mysqld服务
         #supervisorctl  start mysqld
          #supervisorctl  restart mysqld
       说明:通过service mysql stop、kill -9 <pid>等停止服务后,进程会自动被启动,即无法停止。

                  服务的启停,在修改配置文件或要移动mysql数据文件时,需要用到。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息