本地registry配置(Mac)
当使用本地电脑使用docker时,通常会使用到localhost:5000这个端口,我们会在本地创建一个registry,并把生成的镜像pull到这个registry
vi /etc/docker/daemon.json
{
"insecure-registries": ["127.0.0.1:5000"]
}
重启docker后可以查看
docker info
在下拉的insecure-registries中会看到设置好的registry
当然也可以直接在docker dashboard中设置
在创建本地registry时,执行
docker run -d -v /registry:/var/lib/registry -p 5000:5000 --restart=always --privileged=true --name registry registry:latest
指定端口为5000,拉取registry:latest,如果本地没有的话。
之后就可以愉快的在本地进行push啦
基本命令
docker pull ubuntu:18.04 // 拉取镜像
-----------------查看--------------------
// 列出已经下载下来的镜像
docker image ls
docker images
// 查看镜像、容器、数据卷所占用的空间
docker system df
// 显示虚悬镜像(dangling image)
docker image ls -f dangling=true
// 查看容器ip
docker inspect <containtor_id>
// 查看网络设置
docker network ls
// 执行进入到容器内部
docker exec -it CONTAINER ID /bin/bash
-----------------删除--------------------
// 删除tag为xxx的images xxx = tag ;
docker rmi `docker images|grep none|awk '{print $3 }'|xargs`
docker rmi `docker images|grep latest|awk '{print $3 }'|xargs`
// 删除responsitory为none的
docker rmi -f $(docker images -f "dangling=true" -q)
// 删除虚悬镜像
docker image prune
// 删除images -f表示强制删除
docker rmi -f xxxx
-----------------移除--------------------
// 移除一个正在运行的container
docker stop ContainerId
docker rm ContainerId
docker rm -f ContainerId
-----------------运行--------------------
docker run -itd
-i 以交互模式运行容器,通常与 -t 同时使用;
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-d 后台运行容器,并返回容器ID;
问题
1.windows启动出现 WSL 2 installation is incomplete
解决:Windows 10 启动 Docker Desktop 时出现 WSL 2 installation is incomplete
2.解决hyper-v导致docker无法启动问题
解决:hyper-v导致docker无法启动问题
3.docker: Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:3306 -> 0.0.0.0:0: listen tcp 0.0.0.0:3306: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.
解决:对应端口被占用,查看具体的端口占用情况
4. Mac下无法使用docker host模式解决方案
Docker官方对MacOS的限制描述:
Mac下无法使用docker host模式
MAC系统下DOCKER容器无法使用–NET HOST共享宿主机端口的解决方案
5.windows docker start failed
引发上一堆栈中的位置异常
解决办法:
● 下载NoLsp.exe;
链接:https://pan.baidu.com/s/1cHmxRcJizXZhkgxDnjqIng
提取码:u20i
● 将NoLsp.exe复制到C:\Windows\System32\文件夹下;
● 以管理员身份打开CMD,切记管理员身份;
● 运行NoLsp.exe C:\Windows\System32\wsl.exe;