思考并回答以下问题:
docker cp a.txt 062:/tmp
如果源路径是宿主机那么就是把文件拷贝进容器,如果源路径是容器那么就是把文件拷贝出容器,注意需要用容器名或者容器ID来指明是哪个容器的路径。062是什么?- 虚拟机有一种“共享目录”的功能可以在宿主机上开一个目录,然后把这个目录“挂载”进虚拟机,这样就实现了两者共享同一个目录,一边对目录里文件的操作另一边立刻就能看到,没有了数据拷贝,效率自然也会高很多。怎么理解?
- 需要在
docker run
命令启动容器的时候使用-v
参数,具体的格式是“宿主机路径: 容器内路径”。docker run -d --rm -v /tmp:/tmp redis
。怎么理解? - 我本机上只有Python 2.7,但我想用Python 3开发,如果同时安装Python 2和Python 3很容易就会把系统搞乱。要怎么办呢?
docker run -d --rm --net=host nginx:alpine
直接使用宿主机网络,相当于去掉了容器的网络隔离(其他隔离依然保留),所有的容器会共享宿主机的 IP 地址和网卡。这种模式没有中间层,自然通信效率高,但缺少了隔离,运行太多的容器也容易导致端口冲突。怎么理解?- 解决端口冲突的方法就是加入一个“中间层”,由容器环境例如Docker来统一管理分配端口号,在本机端口和容器端口之间做一个“映射”操作,容器内部还是用自己的端口号,但外界看到的却是另外一个端口号,这样就很好地避免了冲突。端口号映射需要使用bridge模式,并且在
docker run
启动容器时使用-p
参数,形式和共享目录的-v
参数很类似,用:
分隔本机端口和容器端口。怎么理解?