Docker_基础知识
容器概述
容器本义:盛装物体、隔离物体。
容器意义:解决虚拟化资源浪费的问题。
容器沿革:1979---2013--- 版本:企业版(EE)/社区版(CE)1.13-17.03
容器格言:一次构建,到处使用。
NameSpace资源隔离六大:PID/NET/IPC/MOUNT/UTS/USER #内核3.8.x以上
docker定义:基于go语言的c/s架构的开源容器引擎,是一套基于容器技术的轻量级虚拟化解决方案。
docker安装配置
#添加centos7 yum源
curl -o /etc/yum.repos.d/Centos-aliyun.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#添加docker专用软件源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安装docker-ce
yum install -y docker-ce
#docker启用/启动/查看状态
systemctl enable docker
systemctl start docker
systemctl status docker
#docker配置文件有两个:daemon.json key.json
#查看docker基本信息
docker info
docker version
#登录/登出docker官方镜像库
docker login docker.io
docker logout
#查看登录用户的HASH值
cat /root/.docker/config.json
docker镜像管理
镜像格式
registry_name/repository_name/image_name:tag_name
Eg:docker.io/library/hello-world:latest
镜像管理指令
docker images #查看本地镜像
docker search imagename #搜索镜像
docker pull imagename #下载镜像
docker push imagename #推送镜像
docker tag imageID 新命名镜像名称 #给已有镜像打标签(相当于建立一个镜像副本)
docker rmi -f imagename #删除镜像
docker save imageID >a.tar #导出镜像(镜像与文件的转换)
docker load < a.tar #导入镜像(镜像与文件的转换)
docker容器管理
#查看所有容器
docker ps -a
#查看运行中的容器
docker ps
#创建容器
docker run -ti --name 自定义容器名称 imagename /bin/sh
#进入容器
docker exec -ti 容器名称/容器ID /bin/sh
#提交容器成新镜像
docker commit -p 容器名称/容器ID new_imagename
#删除容器
docker rm -f 容器名称/容器ID
#停止容器
docker stop 容器名称/容器ID
#启动容器
docker start 容器名称/容器ID
#重启容器
docker restart 容器名称/容器ID
#查看容器日志
docker logs -f 容器名称/容器ID
#检查容器详情
docker inspect 容器名称/容器ID
#映射端口
docker run imagename -p容器外端口:容器内端口
#映射目录
docker run imagename -v容器外目录:容器内目录
#传递环境变量
docker run -e 环境变量key=环境变量value
dockerfile(用于制作镜像) 文本/指令/构建?
dockerfile 格式
#为注释
指令(大写)内容(小写)
从上到下按顺序执行
FROM指令开头指定基准镜像
dockerfile 4组核心指令
USER/WORKDIR指令 #指定容器启动后的用户/指定容器启动后的目录
ADD/EXPOSE指令 #添加文件或目录到容器/指定容器端口
RUN/ENV指令 #构建镜像过程中执行的指令/指定的环境变量
CMD/ENTRYPOINT指令 #容器启动后执行的命令/可用的shell
#待处置或删除笔记#
核心理念:【仓库】【镜像、容器】 远端/本地/本地 url/name/id
启动原理:4 step 启动第一个容器——docker run hello-world
生命周期:检查本地是否存在镜像,不存在则检索远端仓库——利用镜像启动容器——分配文件系统,并在只读的镜像层外挂载一层可读写层——宿主机的网桥接口中桥接虚拟接口到容器——从地址池配置ip给容器——执行用户指令——执行完毕后容器终止。
安装配置:curl -s https://get.docker.com/ | sh
配置文件:/etc/docker/damon.json?——key.json?
查看状态:systemctl status docker
查看信息:docker info或docker version
图示: