目录
1 初识Docker
1.1 Docker
代码开发涉及不同的环境
ps:开发环境和测试环境不同,会报bug。
Docker: 是一个开源的应用容器引擎。诞生于2013年,基于Go语言。
- 可以让开发者打包他们的应用以及依赖包到一个轻量级,可移植的容器中,然后发布到Linux机器上;
- 完全使用沙箱机制,相互隔离;
- 分为CE(社区版)和EE(企业版)
1.2 安装Docker
#yum包更新
yum update
#安装需要的软件包,yum-util提供yum-config-manger功能,另外两个是deviceapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
#设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#安装docker,出现输入的界面都按y
yum install -y docker-ce
#查看docker版本,验证是否成功
docker -v
1.3 Docker架构
镜像(Image):相当于一个root文件系统,比如官方镜像ubuntu16.04就是包含了完整的一套ubuntu16.04最小系统的root文件系统;
容器(contrainer):镜像和容器的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器时镜像运行时的实体。容器可以创建、启动、删除、暂定等;
1.4 配置加速器
●USTC:中科大镜像加速器
●阿里云
●网易云
●腾讯云
例如:阿里云,登录账号--左上角的产品与服务--容器镜像服务--镜像加速器文档
根据文档上操作即可。
2 Docker命令
2.1 Docker服务相关命令(daemon)
#1.启动docker服务
systemctl start docker
#2.查看状态
systemctl status docker ##activate(running)显示正在运行中
#3.停止
systemctl stop docker
#4.重启
restart docker
#5.开机启动docker
systemctl enable docker
2.2 Docker镜像相关命令(Image)
#查看镜像
docker images #查看本地
#搜索镜像
docker search redis
#拉取镜像
docker pull redis
#删除
docker rmi id
#id查看用docker images查看
#删除所有的镜像
docker rmi 'docker images -q'
2.3 Docker容器相关命令(container)
#1.查看容器
docker images
#2.创建容器
docker run -it --name=hxf centos:7 /bin/bash
#查看内容
ll
#退出容器
exit
#i:保持容器运行,通常与t同时使用
#3.查看正在运行的容器
docker ps
#全部的
docker ps -a
#进入容器内部 ,退出容器不会关闭
docker exec -it hxf /bin/bash
ll
exit
#t:为容器重新分配一个输入终端,通常于i同时使用
#4.停止容器
docker stop hxf
docker ps -a
#5.启动容器
docker start hxf
#6.删除容器
docker rm hxf
#删除所有的容器
docker ps -aq
docker rm 'docker ps -aq' #ps:不能删除正在运行的容器
#查看容器的信息
docker inspect hxf
3.Docker容器的数据卷
问题引入:
docker的容器删除后,在容器中产生的数据还在吗? 不在了
Docker容器和外部机器可以直接交换文件吗?
容器之间想要进行数据交换?
3.1 数据卷
数据卷是宿主机的一个目录或文件;
当容器目录和数据卷目录绑定后,对方的修改会立即同步;
一个数据卷可以被多个容器同时挂载;