在OS X和Windows上安装需要使用Boot2Docker,这是一个极小的虚拟机,同时提供了一个包装版本对该虚拟机进行管理;该虚拟机运行一个守护进程,并在OS X和Windows上提供了一个本地的Docker守护进程;Docker的客户端工具docker可以作为这些平台的原生程序安装,并连接到Boot2Docker虚拟机中运行的Docker守护进程;

>> Docker Windows中下载、安装、配置

  • Docker官网:https://www.docker.com/get-docker,点开,往下拉:
  • 群晖装docker能干什么 群晖docker安装windows_Docker

  • 选择DockerToolbox下载:
  • 群晖装docker能干什么 群晖docker安装windows_docker_02

  • 双击安装:
  • 群晖装docker能干什么 群晖docker安装windows_Docker_03

  • 全选,下一步:
  • 群晖装docker能干什么 群晖docker安装windows_Windows_04

  • 选前三个,下一步:
  • 群晖装docker能干什么 群晖docker安装windows_docker_05

  • 安装三个
  • 群晖装docker能干什么 群晖docker安装windows_Windows_06


  • 群晖装docker能干什么 群晖docker安装windows_docker_07


  • 群晖装docker能干什么 群晖docker安装windows_Docker_08

  • finish
  • 群晖装docker能干什么 群晖docker安装windows_docker_09

  • 桌面出现三个图标:
  • 群晖装docker能干什么 群晖docker安装windows_Windows_10

  • 验证安装:
    双击“Docker Quickstart Terminal”;启动一个终端窗口,自动执行脚本获取boot2docker.iso到本地路径“C:\Users\zhaobaolong\.docker\machine\machines\default”
  • 验证出错:
  • 群晖装docker能干什么 群晖docker安装windows_Windows_11

  • 重启电脑,按F1 ,选择 security --> intel Virtualization Technology --> enable
  • 双击ocker Quickstart Terminal,成功
  • 群晖装docker能干什么 群晖docker安装windows_docker_12

  • $ docker run hello-world
  • 群晖装docker能干什么 群晖docker安装windows_Docker_13

参考链接:


>> Docker加速镜像拉取

使用国内仓库镜像服务器来进行镜像的拉取:

  • 国内DaoCloud镜像地址:https://www.daocloud.io/
  • 打开链接,注册登录,点击加速器,复制Windows下的地址;
  • 修改:/etc/default/docker
  • 命令行下 vi进入目录:vi /etc/default/docker
  • 添加:DOCKER_OPTS="--registry-mirror="http://ba08868d.m.daocloud.io"(第二步复制的地址)
  • 重启docker守护进程

>> Docker运行nginx镜像

从仓库拉取镜像:(library表示镜像是从docker官网镜像中心同步过来的),点开复制下载地址到命令行执行

群晖装docker能干什么 群晖docker安装windows_群晖装docker能干什么_14


docker images列出本地镜像

docker ps列出启动的容器

docker pull hub.c.163.com/library/nginx:latest拉取nginx镜像

docker exec -it name/id进入容器内部,exit退出内部;

群晖装docker能干什么 群晖docker安装windows_Docker_15


注意: 浏览器访问localhost:port时,无法访问到容器端口对应的服务,

解决Windows下无法对docker容器进行端口映射的问题:

在安装了一个Windows下安装了docker,并尝试在其中运行Nginx、owncloud等服务,但映射完毕之后,在主机的浏览器中,打开localhost:port无法访问对应的服务。

The reason you’re having this, is because on Linux, the docker daemon (and your containers)
 run on the Linux machine itself, so “localhost” is also the host that the container
  is running on, and the ports are mapped to.

 so only the docker client is running on your Windows machine, 
 but the daemon (and your containers) run in a VirtualBox Virtual Machine, that runs Linux.

原来,docker是运行在Linux上的,在Windows中运行docker,实际上还是在Windows下先安装了一个Linux环境,然后在这个系统中运行的docker。也就是说,服务中使用的localhost指的是这个Linux环境的地址,而不是我们的宿主环境Windows。我们可以通过命令docker-machine ip default找到这个Linux的ip地址,一般情况下这个地址是192.168.99.100,然后在Windows的浏览器中,输入这个地址,加上服务的端口即可启用了。


>> 制作自己的镜像-Jpress

  • dockerfile文件:告诉docker怎样制作自己的镜像,制作镜像的每一步操作分别是什么;
  • docker build
  • Jpress :http://jpress.io/ 使用一个开源的Javaweb应用,在此基础上制作自己的镜像;

>> 制作步骤:

  • 从官网下载Jpress:http://jpress.io/,放在与dockerfile文件一个文件夹下就可以;
  • 群晖装docker能干什么 群晖docker安装windows_群晖装docker能干什么_16

  • https://github.com/JpressProjects/jpress/tree/alpha/wars
  • 群晖装docker能干什么 群晖docker安装windows_Windows_17


  • 群晖装docker能干什么 群晖docker安装windows_Docker_18

  • 从网易镜像中心下载Tomcat镜像作为Javaweb程序的基础镜像;
    https://c.163.com/hub#/m/repository/?repoId=3105,下载Docker版本;因为Tomcat的运行需要用到Java,soTomcat这个镜像 是包含JDK的;
  • 群晖装docker能干什么 群晖docker安装windows_Windows_19


  • 群晖装docker能干什么 群晖docker安装windows_docker_20


  • 群晖装docker能干什么 群晖docker安装windows_Docker_21

  • mkdir dockerfile存放目录
  • cd 目录
  • vi dockerfile
  • from :指定镜像继承自哪个基础镜像(基础镜像就相当于java中的基础类);因为程序是Javaweb端的程序,所以就需要用到Tomcat,so从Tomcat作为基础镜像开始自己的镜像制作;
  • maintainer:镜像的所有者;包括所有者的名字,联系方式等;(可以不写)
  • copy:将本地一个文件(Javaweb的war包)拷贝到Tomcat的webAPP文件夹下,Tomcat启动的时候就可以识别这个web应用;或者copy一个目录;

群晖装docker能干什么 群晖docker安装windows_Docker_22


群晖装docker能干什么 群晖docker安装windows_群晖装docker能干什么_23

群晖装docker能干什么 群晖docker安装windows_Windows_24

from hub.c.163.com/library/tomcat

MAINTAINER zhangxuejiao 13116052056@163.co

COPY jpress.war /usr/local/tomcat/webapps

编辑完vi 按Esc --> :wq --> 回车;/usr/local/tomcat


>>运行自己的镜像-Jpress

  • Tomcat也是一个服务,需要对外提供端口;
    -p在本机的端口指定一个8888,Tomcat的默认端口8080,后面加镜像的名字;
  • 群晖装docker能干什么 群晖docker安装windows_docker_25

  • Tomcat容器启动成功,里面的Jpress启动成功:
  • 群晖装docker能干什么 群晖docker安装windows_Docker_26

  • 但是使用Jpress还需使用数据库,本地没有MySQL数据库,也不想安装,可以在docker里面运行一个MySQL:
    (1)在镜像中心搜索MySQL,复制地址,命令行pull下载下来;然后运行
    https://c.163.com/hub#/m/repository/?repoId=2955命令行输入:docker pull hub.c.163.com/library/mysql:latest
  • 群晖装docker能干什么 群晖docker安装windows_docker_27

  • 运行MySQLdocker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=000000-e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql:latest
  • 群晖装docker能干什么 群晖docker安装windows_docker_28

  • 在浏览器内输入网址,点击下一步:
  • 群晖装docker能干什么 群晖docker安装windows_Docker_29

  • 填写好数据库连接信息之后点击下一步:
  • 群晖装docker能干什么 群晖docker安装windows_Docker_30

  • 重启web容器:
  • 群晖装docker能干什么 群晖docker安装windows_群晖装docker能干什么_31


  • 群晖装docker能干什么 群晖docker安装windows_Windows_32

  • 重启web容器之后,页面自动跳转:
  • 群晖装docker能干什么 群晖docker安装windows_Windows_33