01 - Window7系统执行docker某些命令报错
使用DockerToolbox-1.13.1在window7系统执行docker某些命令报错,提示如下错误信息:level=warning msg="Unable to use system certificate pool: crypto/x509: system root pool is not available on Windows"
处理方法:DockerToolbox版本问题,建议使用DockerToolbox-1.12.6。
原始描述:https://github.com/docker/docker/issues/30450
DockerToolbox版本:https://github.com/docker/toolbox/releases
02 - docker-compose命令报错
ERROR: for ...... Cannot create container for service ......: Invalid bind mount spec "......": Invalid volume specification:......
[31mERROR[0m: Encountered errors while bringing up the project.
Reference: http://stackoverflow.com/questions/41318252/running-a-docker-compose-getting-started-example-causes-invalid-volume-specif
Create .env file in the path docker-compose.yml is placed with following content: COMPOSE_CONVERT_WINDOWS_PATHS=1
03 - boot2docker目录
/var/lib/boot2docker
/var/lib/boot2docker/profile
04 - git与docker machine环境变量冲突
启动Docker Quickstart Terminal运行某些docker命令,例如:docker ps等,出现如下报错:
An error occurred trying to connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/images/json: open //./pipe/docker_engine: The system cannot find the file specified.
或
Error checking TLS connection: Error checking and/or regenerating the certs: There was an error validating certificates for host "192.168.99.100:2376": dial tcp 192.168.99.100:2376: i/o timeout
You can attempt to regenerate them using 'docker-machine regenerate-certs [name]'.
Be advised that this will trigger a Docker daemon restart which will stop running containers.
处理方法:
已运行的git设置的环境变量,与后启动的docker machine的环境变量不一致,导致某些docker命令失败。
关闭git,然后重新启动docker machine,然后再启动git。
05 - 向容器传递变量
可以通过docker run命令的-e参数向容器传递变量,可以通过此方法让容器能够使用一些外部的环境变量。
使用多个-e参数可以传递多个环境变量。
[root@CentOS-7 ~]# docker run -it --name test -e TESTENV='this is a test!' centos bash
[root@9bc74ce9f33f /]# echo $TESTENV
this is a test!
[root@9bc74ce9f33f /]#
06 - 列出一个容器里被改变的文件或者目录
# docker diff Name/ID
07 - 显示一个运行容器里的进程信息
# docker top Name/ID
08 - 从容器里拷贝文件/目录到本地一个路径
# docker cp Name:/container_path to_path
# docker cp ID:/container_path to_path
09 - Docker容器无法访问外网
使用docker run的--net参数“--net host”启动容器,让容器使用宿主机网络,如果问题仍然存在,那么很可能不是Docker的问题,建议检查宿主机的相关网络配置。
参考:Docker容器内不能联网的6种解决方案
10 - 阿里云Docker镜像加速器
- 阿里云Docker镜像加速器
- Anliven
11 - 升级Docker
如果是通过类似apt-get或yum方式安装的Docker,也可以用同样的方法对Docker进行升级。
- https://docs.docker.com/install/linux/docker-ce/centos/
- https://docs.docker.com/install/linux/docker-ce/ubuntu/
- https://docs.docker.com/machine/reference/upgrade/
例如:
apt-get update
apt-get install docker-engine