zoukankan      html  css  js  c++  java
  • 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 镜像名字:版本

  • 相关阅读:
    PAT顶级 1015 Letter-moving Game (35分)
    PAT顶级 1008 Airline Routes (35分)(有向图的强连通分量)
    PAT顶级 1025 Keep at Most 100 Characters (35分)
    PAT顶级 1027 Larry and Inversions (35分)(树状数组)
    PAT 顶级 1026 String of Colorful Beads (35分)(尺取法)
    PAT顶级 1009 Triple Inversions (35分)(树状数组)
    Codeforces 1283F DIY Garland
    Codeforces Round #438 A. Bark to Unlock
    Codeforces Round #437 E. Buy Low Sell High
    Codeforces Round #437 C. Ordering Pizza
  • 原文地址:https://www.cnblogs.com/jackyzm/p/9166145.html
Copyright © 2011-2022 走看看