Docker 简单使用记录

Docker是一个开源的应用容器引擎,开发者可以打包他们应用以及依赖包到一个可移植的容器中,然后发布到任何其它平台上去。 容器是沙箱机制,相互之间没有任何接口。

0. Docker的使用场景:

项目部署到测试,生产环境时,都需要部署一大堆依赖的软件和工具,出现问题的几率较大,需要较多时间。则可以把环境和项目打包成镜像(image),push到镜像仓库,在部署时直接pull镜像(image), 运行为容器(Container), 则运行环境和项目均已完备。既可以节约时间,又可以保证各个依赖项软件版本的同一。

1. Docker结构:

Docker采用c/s架构。 Docker daemon作为服务器接受来自客户的请求(创建,运行,分发容器)。客户端和服务器可以运行在一个机器上,也可以通过socket或者RESTful API来远程通信。

镜像仓库中可以存储多种image.

2. Docker image(镜像)和Container(容器):

镜像(image)其实就是一个文件系统,它是只读的,相当于class.负责存储数据。

容器(Container)可以理解是运行时的实例。相当于class object. 它通过image创建,是可读写的。负责运行。

3. image(镜像)使用简介:

3.1:从仓库获取镜像:

sudo docker pull 

例如:

sudo docker pull paddlepaddle/paddle-lite:2.0.0_beta

sudo docker pull paddlepaddle/paddle-lite:latest

仓库paddlepaddle/paddle-lite中获取tag分别为2.0.0_beta和latest的image.

3.2:显示本地image:

sudo docker images

结果与获取时的仓库名和tag名对应。

REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
paddlepaddle/paddle-lite   2.0.0_beta          19cbdbf8f23d        3 years ago         12GB
paddlepaddle/paddle-lite   latest              19cbdbf8f23d        3 years ago         12GB

3.3:删除本地image:

docker rmi <IMAGE ID>

例如:

docker rmi 19cbdbf8f23d

3.4: 基于image新建一个容器并启动:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

docker run  [参数]  镜像名称:tag  执行的命令

常用参数:

-i 保持和docker 容器内的交互,启动容器时,运行的命令结束后,容器依然存活,没有退出(默认是会退出,即停止的)  通常与 -t 同时使用
-t 为容器的标准输入虚拟一个tty

-v: Bind mount a volume (挂载宿主机的一个目录)

-v  宿主机目录:容器内目录

其中,容器内目录不能是相对路径

可以在最后加入命令:例如: /bin/bash

则在容器内执行/bin/bash命令

IMAGE:指定要启动的容器基于哪个Image。使用  REPOSITORY:Tag的格式。

例如:

sudo docker images

REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
paddlepaddle/paddle-lite   latest              19cbdbf8f23d        3 years ago         12GB
 

sudo docker run  -it -v paddle-lite:/Paddle_Lite paddlepaddle/paddle-lite:latest /bin/bash

4. 容器 (Container)

Container相当于image运行实例。

4.1: 列出所有Container:

docker ps -a

结果类似:

CONTAINER ID        IMAGE                             COMMAND                  
b7ea61d3da25        paddlepaddle/paddle-lite:latest   "/bin/bash"  

IMAGE: 就是创建Container是基于的Image。

4.2: 退出容器/停止容器:

在容器bash内 ,输入exit

或使用: docker stop CONTAINER_ID

4.3:重新进入停止的容器:

sudo docker start CONTAINER_ID  -i

如果加入-i 则启动容器并进入交互模式。

4.4:删除容器:

sudo docker rm CONTAINER_ID

注意,不能删除正在运行的Container.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值