windows安装docker并搭建开发环境,宝塔面板 Docker Toolbox 镜像加速


首先介绍下Docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

1.下载安装

Docker官网 https://www.docker.com/

下载地址 https://oomake.com/download/docker-windows  ps:下载之后貌似win7安装不上,我这公司电脑是win7的打不开安装程序,可能是需要win10吧.

win7下载地址 https://get.daocloud.io/toolbox/

安装过程中会有选项安装组件 如有安装git不用勾选 VirtualBox也是 , 如果全选安装之后会出现如下软件:

Oracle VM VirtualBox
Git
Boot2Docker for Windows

首先需要配置git环境变量 这步骤不在详细介绍   命令行中 输入 git 显示即说明成功

2. 启动DOCKERT

在命令窗口中,切到docker的安装目录下

双击红色框中文件 等待.....   如果报错 则吧boot2docker.iso文件复制到  报错目录即可

成功之后会显示小鲸鱼 图片如下

3. 搭建CentOS服务器环境

3.1 验证Docker是否启动

打开CMD,输入

如果输出版本信息的话,表示Docker启动成功。

3.2 拉取CentOS镜像

输入命令

以上命令会到Docker官方库里去下载最新的CentOS镜像,但是因为是国外的站点,所以下载会很慢。这里可以使用国内的镜像加速

使用镜像加速下载镜像时,必须输入完整的库名和镜像名。

由于CentOS7在Docker上有一个DBUS的BUG,所以这里建议下载CentOS6的镜像。只需在镜像名后面加上TAG既可。

3.3 运行CentOS容器

镜像下载好之后,输入命令

可以看到已经有一个镜像了。

然后用这个镜像运行起一个容器

  • -i: 以交互模式运行容器,通常与 -t 同时使用;
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
  • -it: 表示使用终端模式运行容器
  • -d:运行程序直接返回守护进程模式运行
  • -P 将容器的80端口映射到主机随机端口。
  • -p 80:80 将容器的80端口映射到主机的80端口
  • -v 映射主机目录和容器目录
  • b5e5ffb5cdea 表示镜像的ID
  • 1c5a8ee342b6 表示docker ps查出的容器id
  • /bin/bash 表示镜像运行起之后要执行的程序
  • –name=”nginx-lb”: 为容器指定一个名称;
  • /root/www:/www 表示将真机的/root/www文件夹映射到docker容器的/www上去。
  • --privileged=true 表示在运行容器的时候,给容器加特权,不然容器没有写文件的权限,会导致安装失败。
  • docker exec 表示在容器里执行一个命令,可以执行bash进入交互式

使用 git-bash.exe 的 控制台 报错 $ docker exec -ti nginx /bin/bash the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty' 换个 cmd.exe 就解决问题了,或者先执行docker-machine shh 进入宿主机在使用 docker exec -it fb95852e3f16(容器ID) /bin/bash  进入容器

可以看到命令提示符已经变成Linux样式了,表示已经成功在容器里运行起了CentOS。

如果挂载失败,把-v参数移动到--name前面即可

4.使用xshell 连接docker

windows的cmd窗口 功能太少,使用xshell连接docker

需要设置Oracle VM VirtualBox的端口转发, 设置->网络->高级->端口转发

连接xshell   账号 docker   密码  tcuser

连接成功会显示小鲸鱼 logo

接下来使用上面讲的进入bash  执行下面语句

docker exec -it 1c5a8ee342b6 /bin/bash

5.Centos 安装需要的东西

由于docker中是一个纯净版本,我们首先需要给他升级并且安装必要的软件。

由于宝塔 Linux 管理面板是可视化操作,其傻瓜式的安装方法以及简洁的控制界面让我欲罢不能,索性装个试试看。

 

6.安装easywoole

准备学习easyswoole框架,安装方式提供了docker安装方式,按照手册安装

在国内使用Docker Hub的话就特别慢,为此,我们可以给Docker配置国内的加速地址。然后到Shell中去依次执行:

阿里云镜像地址 https://cr.console.aliyun.com/cn-hangzhou/mirrors

这样重启Docker后就可以用国内的镜像来加速下载了。

试一下下载一个看看快不快:

启动容器

手册上说这地方是不对的:此时可以访问 http://localhost:9501 看到框架的欢迎页面,表示容器运行成功

【注意,Docker容器是在VirtualBox的虚拟机里面,不是在Windows里面,所以不能用127.0.0.1或者localhost访问】

通过docker-machine env可以看到,我这里是192.168.99.100:2376 , 所以连接地址为http://192.168.99.100:9501/

成功:

 

easyswoole

7.安装mysql

下载完镜像,我们运行一个容器:

 

接下来我们打开windows下的mysql客户端,服务器地址填docker虚拟机的IP地址,通过docker-machine env可以看到,我这里是192.168.99.100,然后用户名root,密码123,这样我们就可以连接到docker容器里面的mysql了。

8.使用Dockerfile镜像安装

写好dockerfile文件php环境样例    文件名字为Dockerfile

生成docker镜像 docker build  -t  qq/  .              -t 是tag 标签名    不要忘记了后面有个点当前的意思,会自动加载当前目录下的Dockerfile文件

docker images  查阅镜像id

生成容器  docker run -i -t -d -p 9501:9501 --privileged=true -v /root/www:/www --name newsw 275f57403e55

 

9.查看容器信息连接两个容器

docker inspect 容积或镜像ID

可以使用--link 参数去实现 , 官方不建议这么做 , 并且以后会删除这个参数

现在使用netwok

1.创建网络

2.启动MySQL数据库

3.启动php环境

4.验证在容器中是否能与数据库通信

说明:

如果出现  bash: ping: command not found

如果能够ping通说明在php容器中可以使用msyql数据库

附录:

阿里云镜像

时速云

安装流程参考 https://www.cnblogs.com/linjj/p/5606687.html

docker命令学习 https://blog.csphere.cn/archives/22

声明:祁志飞||小祁的博客|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - windows安装docker并搭建开发环境,宝塔面板 Docker Toolbox 镜像加速


QQ:137867590