一 docke简介
Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,在不同的机器中使用。
Docker 包括三个基本概念
镜像(Image) 相当于是一个 root 文件系统
容器(Container) 容器可以被创建、启动、停止、删除、暂停等
仓库(Repository) 仓库可看成一个代码控制中心,用来保存镜像
Docker 容器通过 Docker 镜像来创建,容器与镜像的关系类似于面向对象编程中的对象与类
Docker镜像跨的就是Linux发行版,只要系统架构一样,是可以使用相同的镜像的,比如x86的镜像只能x86的系统使用,arm的镜像只能arm系统使用。
二 docker安装
分在线安装和离线安装,一般连网的linux系统基本都可直接在线安装,对于有些系统无法在线安装的,可以选择离线安装
离线安装参考--麒麟操作系统上安装docker并加载镜像 - 牛云杰 - 博客园
三 docker常见命令
3.1 镜像命令
docker search httpd 查找镜像
docker images 查看本地镜像
docker pull httpd 获取镜像
docker rmi hello-world 删除镜像
docker tag 5a214d77f5d7 my_centos:latest 修改镜像名称
3.2 容器命令
docker run hello-world 运行容器
docker ps 查看容器的运行信息
docker ps -a 查看所有容器
docker start 5a214d77f5d7 启动一个已停止的容器
docker rm -f 5a214d77f5d7 删除容器
docker run -it ubuntu:18.04 /bin/bash 交互式运行容器
docker exec -it 5a214d77f5d7 /bin/bash 进入已启动容器
docker attach 5a214d77f5d7 进入已启动容器
docker rename id newname 修改容器名称
docker container update --restart=always 5a214d77f5d7 修改容器启动参数
docker system df 查看docker使用磁盘情况
2.2.2 容器创建时常用参数
--privileged=true, 关键参数,容器拥有root权限
--name, 为容器创建别名
-p p1:p1, 将本地的p1端口映射
-it, 保留命令行运行
-d, -detach运行容器到后台
-v /dev:/dev, 将本地的dev文件夹挂载到新建容器的dev下,容器中应用可以访问宿主机,例如相机、usb设备等
--restart=always, docker服务重启后,容器自动启动
-e,-env 设置环境变量
--device=/dev/video0 映射文件
3.3 打包命令
docker commit -m="update image" -a="xiaoxiao" 5a214d77f5d7 root/ubuntu:v2 打包
各个参数说明:
-m: 提交的描述信息
-a: 指定镜像作者
e218edb10161:容器 ID
root/ubuntu:v2: 指定要创建的目标镜像名
docker save -o 要保存的文件名 要保存的镜像
docker load < demo.tar 通过命令载入镜像
docker cp container01:/home/opencvtest/bin /home/faw/test 拷贝容器内容到宿主机
docker cp /home/faw/test container02:/usr/local/test 拷贝宿主机内容到容器
四 使用
4.1 制作本地镜像包
4.2 加载镜像包