zoukankan      html  css  js  c++  java
  • MAC OSX--docker

    http://www.cnblogs.com/yjmyzz/p/docker-install-tutorial.html

    http://www.cnblogs.com/yjmyzz/p/docker-usage.html

    三个大坑:

    其一:

    -v 参数可以只写前面第一部分,-v /Users/yjmyzz/docker_volumn 这样启动也不会报错,但是这样做的效果,在最新版本的docker(1.9.1)上,只会把本机目录挂到容器中,容器中看不到本机的任何文件,所以一定要记得写:后的部分

    其二:

    权限问题,mac机上如果从网上down(非apple store官方)了一个文件到本机,该文件甚至保存文件的目录权限,都会被设置成特殊权限@,见下面的截图:

    ll -l@ -a

    先用这个显示特殊权限的详细信息:

    然后用xattr -r -d 详细信息 * 去掉这些特殊权限(参考下图),然后再重新挂到容器中,就能正常使用了

    其三:

    mac上挂载的本机目录,必须是在~/(即:当前用户的目录)下,类似/opt/www这样的目录,就算给它所有权限,挂到容器中后,也只能看到目录,读不到任何文件,centOS上没这问题。

    此外,还可以用命令

    1
    docker inspect myubuntu

    查看此时容器的所有状态,会看到一段长长的json输出,类似下面这样:

    90~97行的Mounts节点描述了当前容器挂载的"卷"信息。

    最后指出一点:目前docker仅支持在run(创建)容器时使用-v创建卷,对于一个已经start的容器,如果想动态添加卷,是十分困难的。虽然国外有牛人,实现了在容器启动后动态添加卷,但过程十分曲折,而且并不能能用,有兴趣的可以参考下面的文章

    如果直接在mac本机打开一个终端,然后输入docker ps之类的命令,会提示

    1
    Cannot connect to the Docker daemon. Is the docker daemon running on this host?

    eval $(docker-machine env default)

    docker exec -it hello-world-nginx sh
     

    这一节我们来稍微了解下docker原理性的东西

    1
    docker run -i -t ubuntu /bin/bash

    输入上面这行命令,启动一个ubuntu容器时,到底发生了什么?

    大致过程可以用下图描述:

    首先系统要有一个docker daemon的后台进程在运行,当刚才这行命令敲下时,

    1. docker client(即:docker终端命令行)会调用docker daemon请求启动一个容器,

    2. docker daemon会向host os(即:linux)请求创建容器

    3. linux会创建一个空的容器(可以简单理解为:一个未安装操作系统的裸机,只有虚拟出来的CPU、内存等硬件资源)

    4. docker daemon请检查本机是否存在docker镜像文件(可以简单理解为操作系统安装光盘),如果有,则加载到容器中(即:光盘插入裸机,准备安装操作系统)

    5. 将镜像文件加载到容器中(即:裸机上安装好了操作系统,不再是裸机状态)

    最后,我们就得到了一个ubuntu的虚拟机,然后就可以进行各种操作了。

    如果在第4步检查本机镜像文件时,发现文件不存在,则会到默认的docker镜像注册机构(即:docker hub网站)去联网下载,下载回来后,再进行装载到容器的动作,即下图所示

    另外官网有一张图也很形象的描述了这个过程:

    参考文章:

  • 相关阅读:
    ubuntu20.04.2设置配置静态ip方法
    如何在windows10上面运行HyperLedger Fabric1.4
    powershell中临时修改环境变量
    openssl查看pem格式证书细节
    git clone的时候遭遇fatal: early EOF fatal: index-pack failed解决办法
    修改sourcetree的推送账户
    ubuntu上kafka的配置与使用(二)--kafka和zookeeper集群的配置(kafka自带的zookeeper)
    ubuntu上kafka的配置与使用(一)--单机kafka的配置
    李航老师的《统计学习方法》第二章算法的matlab程序
    第8题——计算糖果
  • 原文地址:https://www.cnblogs.com/SZLLQ2000/p/5413627.html
Copyright © 2011-2022 走看看