Docker - Tips

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镜像加速器

11 - 升级Docker

如果是通过类似apt-get或yum方式安装的Docker,也可以用同样的方法对Docker进行升级。

例如:

apt-get update
apt-get install docker-engine

12 - Docker Tutorial

Docker教程

13 - 镜像源

# 20240912
https://docker.m.daocloud.io
https://dhub.kubesre.xyz
https://dockerpull.com

# 登录Docker后,使用docker pull 命令下载
docker pull sonarqube:lts-community

# 在docker pull 命令指定镜像源地址(尝试vpn)
docker pull docker.m.daocloud.io/sonatype/nexus3:3.72.0
docker pull dhub.kubesre.xyz/gitlab/gitlab-ce
docker pull dockerpull.com/nginx
posted @ 2017-02-28 22:59  Anliven  阅读(1399)  评论(0编辑  收藏  举报