Docker 坑点记录
1 关于 Docker Windows 文件夹问题
C:\Users
Docker Machine tries to auto-share your /Users (OS X) or C:\Users (Windows) directory.
http://stackoverflow.com/questions/35767929/using-docker-via-windows-console-includes-invalid-characters-for-a-local-volume
比如 我想设置 F:\config 为 挂载一个本地目录 写法是 docker run -d -v /F/config elasticsearch
2 关于 端口映射问题
-p (小写)
注意: -p local_port:container_port 前面是是本机计算机端口,后面是容器端口。 如果省略 local_port的话,则将使用随机高位端口。
-P (大写)
-P 是 -p 5000 的缩写, 将容器内部的5000端口映射到本机计算机的高端口号(临时端口范围(ephemeral port range),通常为32768-61000)上
为什么不使用1:1对应的端口映射,而要映射到高端口号上? 1:1对应端口映射的局限在于本地计算机端口只能被映射一次,不能同时被重复映射。
3 docker 权限不足问题
docker虚拟机系统默认使用docker用户,可能会遇到Permission denied错误,即权限不足,需要切换到root账户操作,只要输入“sudo su”命令即可,无需密码
4 关于容器内部访问问题
如果是通过 服务名称访问 注意服务名称 不能有 特殊字符 如 & _ 等
还有就是 容器之间的访问 刚启动的时候 是访问不通的 得等上一小会
5 关于 搭建 registry 的问题
官方镜像 中
Run the registry docker container: Quick version
run the registry: docker run -p 5000:5000 -v <HOST_DIR>:/tmp/registry-dev registry
挂载文件 对应的 容器地址是 /tmp/registry-dev registry
docker service create --name registry --publish 5000:5000 --mount type=bind,target=/var/lib/registry,source=/docker/ --constraint 'node.hostname==manager' --network test registry
然而 不是
docker run -d -p 5000:5000 --restart=always -v /opt/registry-var/:/var/lib/registry/ registry:2.4.1
6 boot2docker 创建的docker虚拟机 默认密码
用户名和密码是: docker/tcuser
7 关于 boot2docker docker虚拟机 环境变量的问题
sudo vi /var/lib/boot2docker/profile
直接添加到最后就行 !!