Docker
(2023-03-29 18:00:28)分类: linux |
作者: Sam
Docker是一个开源的应用容器引擎。
Docker可以让开发者打包应用和依赖包的一个轻量级的,可移植的容器中。然后可发布到Linux机器上。
Docker的概念:
1. 镜像(Image): 相当于root文件系统。
2. 容器(Container): 是镜像的实体。 可以被创建,启动,停止,删除,暂停等。
3. 仓库(Repository):是代码控制中心,用来保存镜像。
1. Docker Image的相关操作:
1.1: 已有的镜像查看:
docker images
显示:
REPOSITORY(仓库源)
TAG(镜像标签)
IMAGEID
CREATED SIZE
1.2. 保存镜像:
docker save
>
Image_Name
1.3. 导入镜像:
docker load < xxxx.tar
1.4. 启动镜像:
docker run -i -t REPOSITORY:TAG
这里的REPOSITORY和TAG,就是docker images的输出。
1.5. 删除镜像:
docker rmi REPOSITORY:TAG
有时会遇到不能删除, 必须要先删除对应的Container.
1.6:从仓库取images:
docker pull REPOSITORY:TAG
REPOSITORY:仓库源。
TAG: Image Tag.
2. docker Container相关:
2.1:查看所有容器:
docker ps -a
结果是:
Container_ID
Image COMMAND
CREATED STATUS
Container_ID: 容器ID
Image: Repository:TAG
2.2:第一次启动容器:
docker run -i -t Repository:TAG
-i, -t: 可交互,有终端
2.3: 启动已停止的容器:
docker start CONTAINER_ID
2.4:停止一个容器:
docker stop CONTAINER_ID
2.5:进入一个已经运行的后台容器:
docker exec -i
CONTAINER_ID /bin/bash
2.6:删除容器:
docker rm CONTAINER_ID
使用例子:
例1: paddle-lite编译环境Docker:
A. 下载Images:
docker pull paddlepaddle/paddle-lite:2.0.0_beta
下载后,docker images 即可以看到
仓库源:paddlepaddle/paddle-lite , TAG: 2.0.0_beta 的image.
仓库源:paddlepaddle/paddle-lite , TAG: 2.0.0_beta 的image.
B. 启动镜像为容器:
docker run -i -t -v 主机端目录:容器内目录
Repository:TAG /bin/bash
-i : 可交互:
-t: 有终端。
-v:绑定一个卷。(有点类似mount, 把本地目录和容器内目录联系起来)
本地目录中有paddle-lite目录。其中包含paddle-lite source code.
docker run -i -t --name paddlelite-docker -v
$PWD/paddle-lite:Paddle_Lite
paddlepaddle/paddle-lite:latest /bin/bash