docker
容器:就是提供在多台主机上运行的应用程序相同的运行环境。
docker的概念
是开源的容器,是由Go语言开发的,是容器里面运用的工具,他是一个轻量级的虚拟机,可以利用docker在多台主机上创建与运行容器。
docker容器可以被看作运行在宿主机上的一个进程,容器共字宿主机的内核,容器问是通过namespace(命名空间、名称空间)隔资源,通过 cgroups(资源直去限制资源。
核心概念
镜像
运行容器的基础,包含运行程序所需的所有内容。
容器
是从镜像创建的运行实例。
仓库
集中保存镜像的地方(共有仓库docker hub ,私有仓库 harbor)。
namespace
UTS 系统调用参数(CLONE_NEWUTS) 主机名与域名隔密内容)
IPC 系统调用参数(CLONE_NEWWIPC) 信号量、消忘队列和共享内存(隔离内容)
PID 系统调用参数(CLONE_NEWPID) 进程编号(隔离内容)
NETWORK 系统调用参数(CLONE_NEWNET) 网络设备、网络栈、端口等
MOUNT 系统调用参数(CLONE_NEWNS) 挂载点(文件系统)
USER 系统调用参数(CLONE_NEWUSE) 用户和用户组
docker命令
查看详细信息 docker inspect
搜索镜像 docker search 仓库名/镜像名
下载镜像 docker pull 仓库名/镜像名:标签
查看镜像 docker images
创建镜像标签 docker tag 原仓库名/原镜像名: 原标签 新原仓库名/新原镜像名 :新原标签
上传镜像到公用仓库/私有仓库 docker push 登录公共仓库:标签 用户名 密码
删除镜像 docker rmi 仓库名称:标签
docker rmi 镜像ID号
存出镜像(将镜像保存成为本地文件) docker save -o 存储文件名 存储的镜像
载入镜像(将镜像文件导入到镜像库中) docker load < 存出的文件
上传镜像 docker tag nginx:latest 用户名/nginx:web
容器创建 docker create -it 镜像 /bin/bash
查看容器的运行状态 docker ps -a
-a 选项可以显示所有的容器
启动容器 docker start 容器的ID/名称
创建容器并持续运行容器 docker run -itd --name test01 centos:7 /bin/bash
docker run 过程
进入容器 docker exec -it 容器id /bin/bash
不加 -d 选项会创建容器后直接进入容器,但是退出容器,容器也会停止 docker run -it centos:7 bash
容器导出 docker export 容器ID/名称 > 文件名
容器导入 cat 文件名 | docker import – 镜像名称:标签
删除容器 docker rm 容器ID/名称
批量清理后台停止的容器 docker rm $(docker ps -a -q)