Windows10安装docker

视频地址:http://study.163.com/course/courseLearn.htm?courseId=1005527017#/learn/video?lessonId=1052743396&courseId=1005527017

阿里云容器镜像服务:https://cr.console.aliyun.com/?spm=a2c4e.11153940.blogcont29941.10.607569d6bfWjZd#/accelerator

docker主页需要翻墙注册用户,https://www.docker.com/

Docker发布了Docker for Windows的正式版,于是就可以在Windows下运行Docker容器了。要在Windows下运行Docker,需要满足以下先决条件:

  • 64位Windows 10 Pro、Enterprise或者Education版本(Build 10586以上版本,需要安装1511 November更新)
  • 在系统中启用Hyper-V。如果没有启用,Docker for Windows在安装过程中会自动启用Hyper-V(这个过程需要重启系统)
    不过,如果不是使用的Windows 10,也没有关系,可以使用Docker Toolbox作为替代方案。
  • 启用系统的Hper-V 和容器
下载docker:
https://link.jianshu.com/?t=https%3A%2F%2Fdownload.docker.com%2Fwin%2Fstable%2FInstallDocker.msi

 当我们运行docker for windows的时候可能会遇到不能运行的情况,提示信息如下:

“Access denied. You are not allowed to use docker. You must be in the “docker-users” group.”
这是因为我们当前的用户名没有在docker的用户组里面,我们添加进去即可。具体操作如下:

win+r  >>>  compmgmt.msc  >>>  本地用户和组  >>>  组  >>>  docker-user  >>>  加入用户

阿里云的镜像加速器,所以你需要登录到阿里云的官网(https://www.aliyun.com/),然后注册一个账号,这个是免费注册的,然后阿里云会给你提供一个你专属的加速地址,

这时我们拿到这个地址之后,我们就可以在docker的配置文件里面进行设置了,我这里使用的是centos虚拟机,所以配置文件是/etc/sysconfig/docker,在OPTIONS里面添加上--registry-mirror=https://xxxx.mirror.aliyuncs.com,这个参数,xxxx要改成你自己的专属地址,

修改完成后,然后使用命令service docker restart重启一下docker服务,这时拉取镜像就很快了!

此外,在提一下,有些公司只能通过代理出去拉取镜像的,这时的配置就需要另外在改改了,这时也是在docker的配置文件里面添加proxy的配置信息

这里的IP需要改成自己公司的代理,同理需要重启一下docker服务。

双击下载好的docker for windows.exe安装docker

windows+r  >>>  cmd  >>>docker version

                docker info

                docker run hello-world

镜像加速:

阿里云  >>>  容器镜像服务  >>>  镜像加速器  >>>  专属加速器地址

拷贝专属加速器地址https://xxx.mirror.aliyuncs.com(xxx不同用户地址不同)

到右击桌面右下角docker图标  >>>  settings  

               >>>  daemon  

               >>>  registry mirrors:

               >>>  apply

 检查加速器是否正确:

cmd  >>>  docker info  >>>  查看输出Registry Mirrors:是否为https://xxx.mirror.aliyuncs.com

切换docker到linux下:

从docker库获取镜像到本地:

docker pull [选项] [docker Registry地址] [端口号] [仓库名] [标签]

docker pull --heip

 从这里找要下载的镜像:https://hub.docker.com/

例如:

  docker pull training/webapp

  docker pull busybox

  docker pull centos

 列出本地镜像:

  docker image ls

  docker images

删除镜像:

  docker image rm 镜像名称/镜像ID

Docker 容器操作:

查看容器:docker ps  查看运行中容器 

     docker ps -a 查看所有容器

启动容器: 通过镜像创建一个容器并启动:

        docker run [OPTION] IMAGE [COMMAND] [ARG]

          COMMAND:容器启动后要执行的命令

          IPTION:

            -d  让docker后台运行

            -t   让docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入

            -i  让容器的标准输入保持开启

            --name  为容器命名

            -v  创建数据卷

            -p  指定端口

          本机访问docker(通过端口映射访问):

            docker run -p 本地端口:容器端口 docker镜像

            docker pull training/webapp

            docker run -p 8000:5000 training/webapp

            本机浏览器输入:localhost:8000 进行访问

            docker run -d -p 8001:5000 training/webapp (后台运行)

容器的交互运行:

   docker run -t -i centos /bin/bash

终止容器:

  docker stop 容器ID

启动终止容器:

  docker start 容器ID

重启容器:

  docker restart 容器ID

删除容器:

  docker rm 容器ID

获取容器输出信息:

  docker logs 容器ID

进入容器:

  docker exec -i -t 容器ID /bin/bash

主机和容器间的拷贝:

  容器拷贝到主机:  docker cp 容器ID:路径/文件名 本地路径

            docker cp 73de53e129f5:/opt/webapp/app.py c:/

  主机拷贝到容器:  docker cp 路径/文件名 容器ID:/路径/文件名

 数据卷:

  数据卷是一个可供多个容器使用的特殊目录,他绕过UFS可以提供很多特殊应用:

    可以在多容器间共享和使用;

    对数据卷的修改立马生效;

    对数据卷的更新不会影响镜像;

    数据卷默认一直存在,即使容器被删除!

    类似于Linux中的mount;

数据卷命令:

  docker run -v 本地目录:容器目录 容器名称

  docker run -it --name volume-01 -v /vol-data centos /bin/bash

  从镜像创建数据卷目录 nolume-01 容器名称

            /vol-data  建立数据卷目录名

            centos   选用镜像名

  docker inspect 容器名

    查看Mount节点内容

建立数据卷容器:

  docker run -it -v /dbdata --name data01 centos /bin/bash

         数据卷目录  容器名称  镜像名称

    启动容器:docker start data01

    进入容器:docker exec -it data01 /bin/bash

    加入文件:cd /dbdata

         touch db.properties

    退出数据卷容器:exit

创建关联数据卷容器:

  docker run -it --name vol_a --volumes-from data01  centos /bin/bash

          容器名称 数据卷指向 数据卷容器名称 镜像名称

 删除volume:

  docker rm -v 数据卷容器名

  docker run --rm 创建容器时加--rm,那么当容器停止时会自动删除挂载的书记卷容器

备份、恢复、迁移volume

docker run --rm --volumes-from dbdata -v $(pwd):/backup test/mycentos:v1.0 tar cvf /back/data.tar /data

制作云镜像:

  docker conmit -p(提交时容器暂停) -a "作者" -m"说明文字" 容器ID 镜像名字:版本

原文地址:https://www.cnblogs.com/jackyzm/p/9166145.html