Docker常用命令总结——属于你的Docker查询手册

docker软件命令

查看docker版本:

docker version
docker -v

重启docker:

sudo systemctl daemon-reload
sudo systemctl restart docker

镜像相关

参考资源:https://www.runoob.com/docker/docker-image-usage.html
查看本地已经安装的Docker镜像:

docker images
or
docker image ls

搜索镜像:

docker search <image_name>

如:

docker search opencv

运行镜像:

docker run <image_name>

删除镜像:
https://blog.csdn.net/winy_lm/article/details/77980529
http://blog.51yip.com/cloud/1859.html

  • 删除指定镜像:

    docker rmi hello-world:latest
    
  • 删除none镜像:

    # 删除none镜像
    # 可能需要先删除与该none镜像相关的运行的容器
    docker rmi $(docker images | grep "none" | awk '{print $3}')
    
     或者直接用命令直接删除该镜像相关的容器和镜像,最好先确认下确实用不上了该镜像再执行
     docker rmi --force $(docker images | grep "none" | awk '{print $3}')
    

镜像的离线保存与加载:
https://blog.csdn.net/lxf2323881/article/details/79274357

  • 保存镜像文件到tar格式的离线文件:

    docker save -o <file_name>.tar <image_name>
    or
    docker save <image_name>  -o <file_name>.tar
    如
    docker save -o py36_torch.tar python36/pytorch:lastest
    
  • 加载离线镜像文件:

    docker load < <file_name>.tar
    如
    docker load < py36_torch.tar
    

容器相关

运行容器:
docker会通过镜像名找到需要运行的容器,载入该容器,并运行在这个容器中的指定命令。

docker run <各种选项> <镜像名>

有关docker的运行命令选项众多,可以了解一些常用选项,满足日常需求即可:
1、基础版本
启动一个带有终端交互的容器

docker run -it <镜像名:Tag> bash

2、启动一个使用宿主机网络的容器
常在带有代理的环境下有用
https://www.debugself.com/2018/01/17/docker_network

docker run --network=host -it <image_name>

显示正在运行的容器:

docker ps
or
docker container ls

显示所有运行容器(包括已经终止的,即运行过的容器):

docker ps -a

格式化显示运行的容器:
https://zju.date/docker-ps-format/

docker ps --format 'table {{.Names}}\t{{.Image}}'

终止容器运行:

docker stop <the-container-id>

清除容器:

docker rm <container-name or container-id> #删除容器
docker container prune # 删除所有已经终止的容器

终止并删除容器:

docker rm -f <the-container-id>

查看镜像或容器信息:

docker inspect <镜像名或容器ID>

从容器commit创建新的镜像:

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
OPTIONS说明:

-a :提交的镜像作者;

-c :使用Dockerfile指令来创建镜像;

-m :提交时的说明文字;

-p :在commit时,将容器暂停。

其中CONTAINER可以为当前运行容器的ID或名字,REPOSITORY即为创建的镜像名。

进入(关联)到已启动的容器:

会同步操作:
docker attach 44fc0f0582d9
Ctrl+C
或
异步操作:推荐
docker exec -it 775c7c9ee1e1 /bin/bash

容器退出后重新进入:

docker restart <container_name>

这样就会直接进入到容器退出前的状态,不用再次重新启动容器

空间占用分析:

具体操作请参考Docker Tips: Clean Up Your Local Machine

查看空间占用情况:

docker system df

查看详细空间占用情况:

docker system df -v

代理设置

如果你使用docker的机器处在代理环境中,如果不配置代理的话在执行docker pull hello-world可能会出现报错:

Get https://registry-1.docker.io/v2/: authenticationrequired

配置方法:

修改/etc/default/docker文件,最后添加:

export http_proxy=http://username:password@proxy.xxx.com:port
export no_proxy="localhost,127.0.0.1,.xxx.com"
DOCKER_OPTS="--insecure-registry rnd-dockerhub.xxx.com"

然后重启docker服务:systemctl restart docker

此时直接docker pull hello-world能够成功。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值