docker 镜像、容器、仓库 - 操作命令

镜像
 1.获取镜像
如果不指定TAG,则下载最新版本,默认选择latest标签

docker pull ubuntu:18.04
docker pull ubuntu
下载非官方镜像

docker pull hub.c.163.com/public/ubuntu:18.04

2.查看镜像
列出镜像

docker images 或 docker image ls
tag添加镜像标签

docker tag ubuntu:latest myubuntu:latest
inspect查看详细信息

docker inspect ubuntu:18.04
history查看镜像历史

docker history ubuntu:18.04
 3.搜寻镜像

docker search [option] keyword
-f ,–filter filter:过滤输出内容
–format string:格式化输出内容
–limit int:限制输入结果个数,默认为25个
–no-trunc:不截断输出结果
  搜索带nginx关键词的镜像
  docker search --filter=is-official=true nginx
  搜索收藏数超过4的关键词包括tensorflow镜像
  docker search --filter=stars=4 tensorflow

4.删除和清理镜像
使用标签删除镜像

docker rmi 或 docker image rm
docker rmi myubuntu:latest
使用镜像ID删除镜像

docker rmi id(12位)

  • 当该镜像创建的容器存在时,镜像文件默认是无法删除的,需先删除依赖镜像的所有容器,然后再删除镜像

    ==> 使用 docker ps -a 查看已关联使用的容器,然后使用 docker rm ID 删除容器

清理镜像
长时间使用会产生临时文件

docker image prune -f
-a ,-all:删除所有无用镜像,不光是临时镜像
-filter filter:只清理符合给定过滤器的镜像
-f, -force:强制删除镜像,而不进行提示确认

5.创建镜像
基于已有容器创建

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

1) 首先先启动一个镜像
>> docker run it ubuntu:18.04 /bin/bash
49d5d4e7b3f6 >> touch test
49d5d4e7b3f6 >> exit
记住容器的ID为:49d5d4e7b3f6
2)创建提交一个新的镜像
docker commit -m “Added a new file” -a “testdocker” 49d5d4e7b3f6 test:0.1
-a , --author="": 作者信息;
-c, --change=[]: 提交的时候执行Dockerfile指令,包括CMD|ENTRYPOINT|ENV|EXPOSE|LABEL|ONBUILD|USER|VOLUME|WORKDIR等
-m, --message="": 提交信息;
-p, --pause=true: 提交时暂停容器运行
基于Dockerfile创建

docker build

6.存出和载入镜像
存出镜像 - 镜像导出

docker save
docker save -o ubuntu_18.04.tar ubuntu:18.04
载入镜像 - 镜像导入

docker load
docker load -i ubuntu_18.04.tar

7.上传镜像
push上传至docker hub

1)先登录,输入注册的用户名和密码
docker login
2)然后使用push命令上传,username为你注册的名称
docker push username/xxxx:xx

容器
 1.创建容器
新建容器 + 启动

1)新建容器
docker create -it ubuntu:latest
2)启动容器
docker start xxx
新建并启动 = 新建+启动

docker run ubuntu /bin/echo 'Hello world’
允许用户进行交互
docker run -it ubuntu:18.04 /bin/bash
后台运行

docker run -d ubuntu /bin/sh -c ‘while true; do echo hello world; sleep 1; done’
容器输出

docker logs ID

2.停止容器
暂停容器、恢复暂停

docker pause test
docker unpause test
终止容器、重新启动

docker stop ID
docker start ID
docker restart ID

3.进入容器
exec命令

docker exec -it ID /bin/bash
-d, --detach: 在容器中后台执行命令 ;
–detach-key="": 指定将容器切回后台的按键 ;
-e, --env=[]: 指定环境变量列表 ;
-i, --interactive=true|false: 打开标准输入接受用户输入命令,默认值为 false ;
–privileged=true|false: 是否给执行命令以高权限,默认值为 false ;
-t, --tty=true|false: 分配伪终端,默认值为 false ;
-u, --user="": 执行命令的用户名或ID。

4.删除容器
rm命令

docker rm ID
-f, --force=false: 是否强制终止并删除一个运行中的容器 ;
-l, --link=false: 删除容器的连接,但保留容器 ;
-v, --volumes=false: 删除容器挂载的数据卷 。

5.导入和导出容器
导出 export

docker export -o XXX.tar ID
导入 import

docker import XXX.tar test/ubuntu:v1.0

  • docker load => 镜像存储文件到本地镜像库

    docker import => 容器快照到本地镜像库

    区别:容器快照文件将丢弃所有的历史记录和元数据信息,但可以重新制定标签等元数据信息,而镜像存储文件将保存完整记录,体积更大。

6.查看容器
查看容器详细,会以JSON格式返回

docker container inspect ID
查看容器内进程

docker top ID

7.其他容器命令
复制文件

将本地路径 data 复制到 test 容器的 /tmp 路径下:
docker cp data ID:/tmp/
查看变更

docker container diff ID
查看端口映射

docker container port ID
更新配置

docker update 参数 ID

仓库
 1.搭建本地私有仓库
使用 registry 镜像创建私有仓库

docker run -d -p 5000:5000 registry:2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值