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数据文件时,需要用到。
最近公司的禅道系统不稳定,时不时的挂掉,过会儿又自动可以访问,想把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数据文件时,需要用到。
相关文章推荐
- 【举例2】Docker环境部署过程,用ushios/lamp-ubuntu镜像,来创建容器,并安装禅道系统
- docker 加载ushios/lamp-ubuntu 镜像
- 【系列6】使用Dockerfile创建带LAMP的Centos Docker镜像
- docker:一、使用镜像Ubuntu 16.04
- 使用dockerfile 创建ubuntu ssh镜像
- Ubuntu16.04.3安装Docker,配置镜像加速器及其基本使用
- Ubuntu 16.04安装使用--Ubuntu16.04下基于Docker的Caffe-GPU版本环境搭建总结
- 使用docker安装ubuntu镜像
- Docker 入门使用 镜像编排 docker仓库 命令总结
- ThinkPHP使用总结(转载) ||ubuntu上搭建LAMP环境
- Docker 使用方法总结之:镜像
- Ubuntu下用docker安装redis镜像和使用redis容器分享
- Docker 官方镜像将会使用 Alpine Linux 替换 Ubuntu
- Ubuntu14.04中使用docker容器部署tomcat镜像+java web项目
- 在Docker中使用ubuntu镜像搭建gitlab
- Ubuntu使用debootstrap制作Docker镜像
- 在docker使用ubuntu镜像并进行apt-get update的时候出现Hash Sum mismatch的问题
- docker使用阿里云镜像仓库
- docker 安装及使用 (ubuntu)
- Docker Mysql镜像使用