一、Docker容器介绍
Docker 起源于2013年
Docker 是一个开源的应用容器引擎,基于GO语言开发,Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何系统
1.Docker 优点
1.Docker 可以用来快速交付应用,加快打包时间,加快测试,加快发布,缩短开发及运行代码之间的周期
2.复杂环境管理,应用隔离:不同软件运行环境兼容依赖问题
3.轻量级:一个docker只是一个进程 ,一个系统可以运行上千个容器
2.Docker与虚拟机的区别
3.Docker的架构
例子:docker pull 通过 docker demon 访问Registry下载一个镜像,通过docker run 将该镜像放在容器中运行
1.client docker终端 我们用来 构建 运行 下载 删除 等容器
2.Docker仓库:docker Registry 远程仓库 集中存放镜像的地方
3.Docker镜像:Docker Images 每个镜像都可能依赖一个或多个下层的镜像组成另一个镜像
4.Docker容器:Docker Containers 镜像运行后的进程
AUFS文件系统
二、Liunx系统安装docker
1.CentOS操作系统
# 查看CentOS版本信息
cat /etc/redhat-release
# 安装 Docker 依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
# 通过阿里源下载Docker(docker 默认是在国外下载可能慢 或者需要翻墙)
yum-config-manager --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker
yum makecache fast && yum -y install docker-ce
2.阿里云镜像加速器配置(这样拉取镜像就很快了)
# 加速器配置目录
cd /etc/docker
#新建一个json文件
vim deamon.json
# 文件中添加以下内容(失效可以去阿里云网站重新获取)
{
"registry-mirrors":["https://s2nni63l.mirror.aliyuncs.com"]
}
# 配置完成后需要重新启动dockers
systemctl restart docker
# 完成后验证 拉取nginx 测试
docker pull nginx
三、Docker常用命令
1.基本命令
# docker启动命令
systemctl start docker
# docker 重启命令
systemctl restart docker
# docker 设置开机自启
systemctl enable docker
# docker 系统信息
docker info
# 查看docker版本
docker version
# 运行容器(可以看当前容器ping另一个服务器的情况)
docker run nginx
docker run nginx ping 1.1.1.1
docker run -d --name aaa nginx(-d指定后台运行 aaa重命名nginx)
# 进入容器(exec 在运行的容器执行命令 -i交互式 输入命令返回结果 -t以终端的方式 ls为需要执行的命令)
docker exec -it nginx ls
# 停止运行的容器
docker stop nginx
# 暂停运行容器
docker pause nginx
# 启动运行的容器
docker unpause nginx
# 删除/强制删除运行的容器
docker rm nginx
docker rm -f nginx
# 查看当前运行中的容器
docker ps
docker ps -a
# 查看运行中的容器
docker top nginx
# 查看资源占用
docker status nginx
# 查看容器/镜像的源信息
docker insepct nginx
2 .镜像管理命令
# 查看所有镜像
docker images
#搜索镜像
docker search nginx
#下载镜像(可指定版本)
docker pull nginx
docker pull nginx:1.17.10
# 导出(可以导出拷贝给别人直接使用)
docker save nginx > nginx.tar
# 导入
docker load < nginx.tar
# 删除
docker rmi nginx:1.17.10
# 更改镜像名(需要改的镜像 新的镜像名)
docker tag nginx:1.17.10 aaa-nginx:v1.1
# 查看镜像历史操作
docker history nginx:1.17.10
例子 docker search nginx(不知道nginx是否能在docker使用可以用search进行查询 official 如果是ok 则为官方镜像)