docker镜像、容器、仓库-操作命令镜像
 1.获取镜像
如果不指定TAG,则下载最新版本,默认选择latest标签
docker pull ubuntu:18.04
docker pull ubuntu
下载⾮官⽅镜像
docker 163/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进入容器查看端⼝映射
docker container port ID
更新配置
docker update 参数 ID
仓库
 1.搭建本地私有仓库
使⽤ registry 镜像创建私有仓库
docker run -d -p 5000:5000 registry:2

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。