docker常用命令,学习笔记
2019-02-21 21:23
441 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_42419002/article/details/88859830
docker常用命令,学习笔记
- 常用命令
- images
[code]> docker images # 查看本地镜像 > docker images -a # 查看所(含中间镜像层) > docker images -q # 只看ID > docker images -qa # 所有ID > docker images --help # 帮助
- history
[code]> docker history ID # 查看镜像ID的更新历史
- docker
[code]> docker --help # 帮助 > docker version # 版本 > docker info # 详细信息
- save Save one or more images to a tar archive (streamed to STDOUT by default)
[code]> docker save yzn-base > yzn-base.tar # 将镜像保存成压缩文件
- load Load an image from a tar archive or STDIN
[code]> docker load < busybox.tar.gz # .tar.gz > docker load --input fedora.tar # .tar
- rm、rmi 删除
[code]> docker rm <container name> # 删除容器 > docker rmi <image name> # 删除镜像 > docker rmi -f hello-world:latest # 强制删除镜像
- commit 提交
[code]> docker commit <container name> [image name] # 生成镜像 > docker commit -m "This is yzn base env with cuda9.0 and conda-pytorch " -a "yzn" yzn-base1 siat123/yzn-base2 # 生成镜像。-m 是message,-a 是username,使用容器yzn-base1生成镜像yzn-base2
- run 运行
[code]> docker run <image ID> # 运行镜像,生成容器
- pull 拉取
[code]> docker pull siat123/yzn-base1:latest # 不加tag,默认拉取latest版本
- push 推送 至远程仓库
[code]> docker push siat123/yzn-base2 # 默认推送latest版本
- 如何理解镜像和容器的关系?
- 容器与镜像的关系类似于面向对象编程中的对象与类;
- 镜像(image)是类,容器(container)是对象,一个镜像可以产生多了容器。
- 容器通过镜像启动,镜像启动之后自动生成容器。
- 镜像像一张系统安装光盘(可盘后不能更改),容器是安装好的系统。
- 当镜像的容器还存在时,是不能删除镜像的。
- docker的5个使用步骤?:
- 应用程序有很多组件,拆分它们;
- 选择成熟的基础镜像;
- 添加安全管理;
- 添加代码;
- 配置测试部署。
- Docker的4个组成?:
- docker Client客户端
- Docker Daemon守护进程
- Docker Image镜像
- Docker Container容器
- 我们通过客户端写命令,然后客户端将命令发送给守护进程,守护进程再将命令执行的结果返回给客户端,这就使我们能通过命令查看执行结果,镜像就是容器的源代码,容器通过镜像启动,使用仓库来保存用户构建的镜像,仓库分为共有和私有。
- 系统学习docker的知识总结?
1. 学习链接:https://www.w3cschool.cn/use_docker/use_docker-phr127
2. Docker 相关概念:通过镜像生成有端口的容器
- 镜像运行之后生成容器,当需要与容器立即交互时,须给容器分配一个虚拟终端(-t 命令实现),通过分配的虚拟容器IP和端口(8000)实现对容器的交互。
- 容器虚拟IP的查看方法
3. docker 的网络配置:将实体机的端口映射到容器端口
[code]> docker run -d -p 5000:22 -p 18888:8888 zys:common
- 实体机 5000 端口映射到容器 22 端口, 同时 18888 端口映射到容器 8888 端口,有了端口之后就可以使用ssh登录到容器了。
4. docker 的分区挂载和数据卷:
- 需要挂在的原因是容器中的文件系统是独立的, 一旦容器被删除, 则文件系统也会被删除。
- 将实体机的目录(前面)挂在到容器的文件系统文件(后面)下
[code]> docker run -d -p 5000:22 -v /home/zys/temp:/root/volumn zys:common
5. docker 的镜像服务器
- 这里说的镜像服务器(docker-registry )就是指仓库Hub,会使用pull和push命令,和GitHub的使用方法相同的。
- docker镜像创建的两种方式?
1. 通过执行Dockerfile文件生成
[code]> docker build
2. 通过已有的新容器(如,在旧容器中安装Pycharm或vim等软件后)生成自定义镜像
[code]> docker run <镜像名> # 通过镜像生成容器 > docker commit <容器名> <镜像名> # 利用容器生成镜像
posted @ 2019-02-21 21:23 YangZhaonan 阅读(...) 评论(...) 编辑 收藏
相关文章推荐
- Docker学习笔记(2)--Docker常用命令
- Docker学习笔记二:Docker常用命令及提升拉取镜像的速度
- Docker学习笔记--Docker常用命令
- docker学习笔记二:常用命令
- Docker 入门学习笔记二:常用命令
- Docker学习笔记(2)--Docker常用命令
- Docker学习笔记(2)--Docker常用命令
- DOCKER学习笔记-常用命令
- Docker学习笔记(2)-- Docker常用命令
- Docker学习笔记(2)--Docker常用命令
- Docker学习笔记1--常用run命令解释
- Docker学习笔记1--常用run命令解释
- docker学习笔记1—常用命令
- Docker学习笔记常用命令持续整理
- [学习笔记]git学习笔记之入门与常用git命令
- DB2常用命令学习笔记
- 2.Linux系统学习笔记-目录架构-常用命令
- 学习笔记---linux常用命令
- 工作中常用Lixu命令学习笔记
- Linux 学习笔记_3_Linux常用命令_6_网络通信命令