docker的安装
linux的内核版本需要在3.10以上才能安装docker
获取最新版本的docker安装1
root@ubuntu:~$ wget -qO- https://get.docker.com/ | sh
安装完成后启动docker1
root@ubuntu:~$ sudo service docker start
详细教程点击教程
lamp的镜像下载
使用如下命令搜索lamp镜像1
docker search lamp
使用如下命令下载镜像这里我们选择linode/lamp1
docker pull linode/lamp
使用如下命令产看镜像1
docker images
创建web容器环境
使用如下命令创建一个容器1
docker run -i -t -d -p 0.0.0.0:35353:80 --name kobe -v $PWD/kobe:/var/www linode/lamp /bin/bash
-i和-t参数是与进入容器的交互式命令
-d参数是使得容器能够在后台持续运行
-p参数是将容器中的80端口映射到物理机的35353端口上
–name 制定容器的名字
-v 将物理机上目录挂载到容器中的相应目录下,$PWD值得是当前目录。
使用如下命令产看正在运行的容器1
docker ps
使用该容器进入容器内部命令1
docker exec -i -t kobe /bin/bash
由于是web环境进入容器后,因为是lamp的集成环境。所以需要启动apache2和mysql的服务1
2service apache2 start
service mysql start
这里就有一个坑点当你在启动mysql的时候会发现一直在报错。缺失mysql.sock文件,这个文件是连接数据库的关键文件,
但其他配置都没有问题为什么会出现这个错误呢?
百度了好久,尝试了何种方法才爬出这个坑。原来mysql.sock 的目录是在/var/run/mysqld下这个只有root用户才有权限
操作,那就配置权限吧!1
chown -R mysql.mysql /var/run/mysqld
配置玩权限后重启mysql服务,启动成功。
然后想进入mysql中发现由于是集成环境根本不知道mysql的密码。
于是就去修改mysql的配置文件my.cnf
注释掉配置文件中[mysqld]的密码选项并添加跳过密码的命令操作如下1
2#skip external locking
skip grant tables
之后就可以进入mysql数据库,修改密码并将之前的配置文件修改回来。1
2use mysql;
update user set password=password('1111111') where user='root';
之后就没有问题了按常规步骤进行操作就行。
浏览器中输入ip端口网页正常显示