docker 在windows上的使用

Docker ToolBox 安装
一、首先,安装Docker ToolBox,其中包含了Docker三剑客: docker , docker-machine 和 docker-compose .
安装完成以后包含了以上命令,而且会安装Oracle的Vm软件VirtualBox,Docker容器的主机将会运行在其中.
建立Docker虚拟机主机
安装完以后,有默认的镜像文件 C:\Program Files\Docker Toolbox\boot2docker.iso,将其拷贝至本身用户名下默认目录 C:\Users\Benjamin\.docker\machine\cache\, docker-machine默认使用这个目录来建立虚拟主机.有些状况下,boot2docker.iso显示是一个压缩包,也能够直接拷贝使用。
二、打开Docker Toolbox安装终端 Docker Quickstart Terminal ,首次运行会自动建立虚拟主机, 如未自动建立成功能够执行如下命令来建立默认的虚拟主机:
docker-machine rm default docker-machine create -d virtualbox default
等待虚拟机建立完成(可使用VirtualBox来查看虚拟机的状态).
三、调整虚拟主机相关配置
Docker虚拟主机建立完毕以后,还须要配置一些参数才能正常使用.
如下几项是须要登录到虚拟机中进行调整的内容,登录方式为:
docker-machine ssh default
若是不想使用 Docker Quickstart Terminal , 能够在登录以后调整 docker 用户的密码 ,而后就可使用通常的ssh客户端,如xShell等来登录虚拟主机.
sudo passwd docker
docker的运行参数配置使用 daemon.json 来进行配置
本地镜像设置
修改 daemon.json (若是没有则建立一个新的):
sudo vi /etc/docker/daemon.json
修改配置为:
{ "insecure-registries" : ["xxxx.com"] ,
}
也可使用在线的阿里云或者docker hub上的镜像,须要配置mirror。
四、重启 docker 使配置生效:
sudo /etc/init.d/docker restart
查看 docker info, Insecure Registries列表中应当包含 xxxxxx.com.
若是重启失败,能够在 /var/log/docker.log 中查看日志进行相应的调整.
配置了本地镜像以后,便可使用本地镜像拉取所须要的镜像文件,如:
docker pull registry.xxxxxxxxx/python:3.6.2
 
TLS禁用
在Windows上使用Docker的其中一个目的是使其与PyCharm结合,造成Python代码的解释器,避免重复的Python解释环境搭建的问题,同时保持Windows开发环境和部署环境所用的Python库的一致性.
默认的docker-machine包含了TLS的认证,虽然能保必定的安全性,可是这致使PyCharm使用Docker的效率很低(目前还没有找到解决版本),所以,咱们只能使用不使用TLS认证的docker.
登录到虚拟主机中,调整 DOCKER_TLS 环境变量:
sudo vi /var/lib/boot2docker/profile
将 DOCKER_TLS 设置为 no :
DOCKER_TLS=no
此项在关机后会失效,开机的时候注意设置
修改完成后重启 docker.
注意: 禁用了TLS 后 docker-machine 再也不能获取到对应的信息了.
这时候要继续使用docker命令,须要调整环境变量,
环境变量调整后 docker 命令又能够继续使用了.
虚拟主机共享目录
默认的Docker虚拟主机自动建立了一个用户目录的共享文件夹,若是没有的话须要本身建立.
打开 VirtualBox 的管理工具,编辑共享文件夹:
其中 /c/User/ 是默认添加的,后面能够本身添加盘符和文件路径
重启虚拟主机,而后就能够在虚拟主机上看到相关目录了:
docker-machine restart default
 
命令详解:
   attach    进入一个容器
    build     从Dockerfile编译
    commit    提交容器
    cp       从容器内复制文件到指定的路径上
    create    建立容器
    diff      能够列出容器内发生变化的文件和目录
    events    从服务器拉取我的动态,可选择时间区间
    exec      进入容器
    export    将指定的容器保存成 tar 归档文件, docker import 的逆操做。导出后导入(exported-imported))的容器会丢失全部的提交历史,没法回滚
    history    查看指定镜像的建立历史
    images    查看镜像列表
    import    从归档文件(支持远程文件)建立一个镜像, export 的逆操做,可为导入镜像打上标签。导出后导入(exported-imported))的容器会丢失全部的提交历史,没法回滚
    info      显示系统信息
    inspect    查看容器底层信息
    kill      结束一个正在运行的容器
    load      从 tar 镜像归档中载入镜像, docker save 的逆操做。保存后再加载(saved-loaded)的镜像不会丢失提交历史和层,能够回滚
    login     登陆Docker HUB
    logout    退出Docker HUB
    logs      打印出容器的标准输出
    port      映射NAT的端口
    pause     暂停容器
    ps       列出容器
    pull      下载一个镜像
    push      将镜像推送至远程仓库,默认为 Docker Hub
    restart    重启容器
    rm       删除容器
    rmi      删除镜像
    run      运行一个新容器
    save      保存镜像
    search    搜索镜像
    start     启动容器
    stop      中止容器
    tag      镜像更名
    top      查看容器进程
    unpause    恢复暂停的容器
    version    查看版本
    wait      阻塞对指定容器的其它调用方法,直到容器中止后退出阻塞
 
       -i    #容许在容器进行交互
        -t    #分配伪tty终端
        -d    #在后台运行容器
        -P    #标示通知Docker所需的网络端口映射从主机映射到咱们的容器内
        -h    #指定容器的hostname
        -e    #设置容器的环境变量
        -a    #stdin 指定标准输入输出内容类型,可选 STDIN/STDOUT / STDERR 三项
        -w    #指定工做目录
        -u    #指定用户名id
        -m    #指定内存
   
        --env-file=[]              从指定文件读入环境变量
        --restart=always        当容器推出时,自动重启容器
        --restart=on-failure:5    当容器推出代码为非0时,docker会尝试自动重启该容器,最多重启5次
        --name                     指定容器名,容器名在整个docker环境中必须惟一
        --dns                      指定dns
        --cpuset=""                绑定容器到指定CPU运行
        --net="bridge"             指定容器运行的网络模式
相关文章
相关标签/搜索