目录
注意:本文为个人学习整理以供复习用,缺少部分细节
doker概念
- Docker 是一个开源的应用容器引擎
- 诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc)
- Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。
- 容器是完全使用沙箱机制,相互隔离
- 容器性能开销极低。
- Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)
docker下载
官网下载:Get Started with Docker | Docker
配置阿里云镜像
参考如下两篇文章:docker配置修改阿里云镜像仓库,Mac OS X 下 Docker 镜像源修改
常用命令
-
查看本地镜像: docker images
-
查找:docker search xxx
-
拉取:docker pull xxx 注意:这里默认下载最新版,若下载指定版本,只需加上:版本号,点击这里搜索所持之的版本
-
删除docker容器中的镜像 : docker rmi 镜像 注意:镜像可以是imageId,也可以是软件加版本号
-
查看所有镜像id:docker images -q
-
删除所有镜像:docker rmi 'docker images -q'
-
docker ps # 查看正在运行的容器
-
docker ps –a # 查看所有容器
-
docker run 参数 #创建并启动容器
参数说明:
-i:保持容器运行。通常与 -t 同时使用。加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭。
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用。
-d:以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用docker exec 进入容器。退出后,容器不会关闭。
-it 创建的容器一般称为交互式容器,-id 创建的容器一般称为守护式容器
--name:为创建的容器命名。
-
停止正在运行的容器: docker stop 容器名字(或者容器运行ID,下面就不做区分了)
-
启动停止的容器: docker start 容器ID
-
删除停止的容器: docker rm 容器ID
-
查看容器信息: docker inspect 容器名
-
查看容器运行日志: docker logs 容器ID
Docker 容器的数据卷
1. 数据卷的概念:
- 数据卷是宿主机中的一个目录或文件
- 当容器目录和数据卷目录绑定后,对方的修改会立即同步
- 一个数据卷可以被多个容器同时挂载
- 一个容器也可以被挂载多个数据卷
2. 数据卷作用
- 容器数据持久化
- 外部机器和容器间接通信
- 容器之间数据交换
3. 配置数据卷
- 创建启动容器时,使用 –v 参数 设置数据卷: docker run ... –v 宿主机目录(文件):容器内目录(文件) ... 例如:docker run -it --name=s1 -v ~/data:/root/data_connect centos:7
- 注意事项:
- 目录必须是绝对路径
- 如果目录不存在,会自动创建
- 可以挂载多个数据卷
4. 数据卷容器
多容器进行数据交换有两种方式:
- 多个容器挂载同一个数据卷
- 数据卷容器
5. 配置数据卷容器(举例):
1. 创建启动c3数据卷容器,使用 –v 参数 设置数据卷:
- docker run –it --name=c3 –v /volume centos:7 /bin/bash
2. 创建启动 c1 c2 容器,使用 –-volumes-from 参数 设置数据卷
- docker run –it --name=c1 --volumes-from c3 centos:7 /bin/bash
- docker run –it --name=c2 --volumes-from c3 centos:7 /bin/bash