遇到问题
1.docker pull image 如果报错:”net/http: TLS handshake timeout”
解决办法:
新增/etc/docker/daemon.json 文件并添加上 registry-mirrors 键值。
{ "registry-mirrors": ["https://registry.docker-cn.com"] }
2.安装完docker后,执行docker相关命令,出现
”Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied“
大概的意思就是:docker进程使用Unix Socket而不是TCP端口。而默认情况下,Unix socket属于root用户,需要root权限才能访问。
解决方法1
使用sudo获取管理员权限,运行docker命令
解决方法2
docker守护进程启动的时候,会默认赋予名字为docker的用户组读写Unix socket的权限,因此只要创建docker用户组,并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix socket了,进而也就可以执行docker相关命令
sudo groupadd docker #添加docker用户组 sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中 newgrp docker #更新用户组 docker ps #测试docker命令是否可以使用sudo正常使用
作者:warm3snow
出处:http://www.cnblogs.com/informatics/
3.限制容器内存
https://blog.csdn.net/l6807718/article/details/51692827
$ sudo docker run -it --name test -m 100m --memory-swap=100m ubuntu /bin/bash
此时内存与swap都被限制为100m
常用命令
获取镜像
docker pull ubuntu:16.04
运行镜像bash
docker run -it ubuntu:16.04 bash
查看镜像列表
docker image ls
不加任何参数的情况下, 上面命令会列出所有顶级镜像,但是有时候我们只希望列出
部分镜像。
docker image ls ubuntu