续篇-docker篇: 优势与安装方式 及基础指令整合 目录1. 前言简介:1.1 docker的优势:1.2 docker的简易理解2. 指令安装2.1 安装yum的插件ps: 提示没权限加上sudo即可 root用户不用2.2 设置yum仓库地址ps: 设置多个镜像仓库, 不设置可能会下载变慢ps: 如图所示2.3 更新缓存2.4 安装docker2.5 查看docker版本3. 启动docker-------------3.1 开启docker服务3.2 设置开机自启3.3 停止docker服务3.4 镜像加速3.5 输出daemon.json3.6 重新加载docker配置3.7 重启docker3.8 查看镜像配置3.9 运行helloworld容器吧 没有会自动下载4. docker使用的基本指令4.1 检查docker 镜像4.2 查看docker容器4.3 docker删除容器--- 如果有个容器还占用这个镜像,删除会报错--- 需要先删除应用此镜像的容器然后删除--- 特别注意: 如果直接强制删除镜像 容器也不会删除4.4 docker pull 拉取4.5 运行镜像5. 制作镜像5.1 下载centos镜像-官网效果(如图)- 下载操作(如图)5.2 将centos7镜像下载到本地5.3 然后将这个压缩包拉到Windows系统中-- 使用方式(如图):5.4 进入容器(宿主机进入)以及退出- 如图所示​编辑5.5 docker在后台运行的标准操作包括:5.6 删除容器:5.7 删除镜像6. 容器创建后的维护6.1 查看容器信息6.2 查看容器日志信息7. 创建容器挂载(数据卷)7.1 创建一个数据卷7.2 查看数据卷7.3 查看指定数据卷信息7.4 配置jdk-- 创建文件Dockerfile并添加配置7.5 使用 Dockerfile 构建镜像--- 指令: docker build -t jdk:8 .7.6 查看环境变量8. 总结及后续传送门1. 前言简介:1.1 docker的优势:隔离性Docker使用容器来隔离不同的应用程序和环境这使得应用程序之间不会互相影响同时可以更好地管理资源。可移植性Docker容器可以轻松地在不同的环境中运行从而实现真正的可移植性无需担心因为不同的运行环境而导致应用程序出现问题。可伸缩性使用Docker可以很容易地扩展应用程序根据需要增加或减少容器数量。更快的部署由于Docker容器的轻量级特性部署应用程序变得非常快速和简单。更好的资源利用率Docker可以充分利用系统资源在不同的容器中同时运行多个应用程序从而实现更好的资源利用率。更好的管理和维护Docker的管理和维护非常简单可以轻松地更新和升级容器中的应用程序并且可以使用Docker的一些工具来监控和管理容器的运行情况。1.2 docker的简易理解分为 容器和宿主机 也就是 容器的端口可以相同 用不同宿主机的端口进行映射就像虚拟机一样 每个容器相互独立 互不影响, 然后一个大房子里的不同格子放这这些容器, 拿redis举例 6379端口的容器可以有多个 但是宿主机端口只能有一个 可以映射6380 等2. 指令安装2.1 安装yum的插件ps: 提示没权限加上sudo即可 root用户不用yum install -y yum-utils2.2 设置yum仓库地址ps: 设置多个镜像仓库, 不设置可能会下载变慢sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.reposudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repops: 如图所示2.3 更新缓存sudo yum makecache fast2.4 安装docker网络环境不好的重复下载sudo yum install -y docker-ce docker-ce-cli containerd.io2.5 查看docker版本docker -v3. 启动docker-------------3.1 开启docker服务systemctl start docker3.2 设置开机自启systemctl enable docker3.3 停止docker服务systemctl stop docker3.4 镜像加速配置加速器来加速。修改配置文件 /etc/docker/daemon.jsoncat EOF /etc/docker/daemon.json { registry-mirrors: [ https://docker.mirrors.ustc.edu.cn, http://hub-mirror.c.163.com ], max-concurrent-downloads: 10, log-driver: json-file, log-level: warn, log-opts: { max-size: 10m, max-file: 3 }, data-root: /var/lib/docker } EOFps: 上面的镜像如果不好使 换成下面的这一堆就行了log-driver: json-fileDocker 默认日志驱动容器日志以 json 格式存储max-size: 100m单个容器日志文件最大 100MB到达上限自动切割max-file: 3每个容器最多保留 3 份切割后的日志超出自动删除最旧日志cat EOF /etc/docker/daemon.json { registry-mirrors: [ https://mirror.aliyuncs.com, https://dockerproxy.com, https://mirror.baidubce.com, https://docker.m.daocloud.io, https://docker.nju.edu.cn, https://docker.mirrors.sjtug.sjtu.edu.cn, https://docker.mirrors.ustc.edu.cn, https://mirror.iscas.ac.cn, https://docker.rainbond.cc ], log-driver: json-file, log-opts: { max-size: 50m, max-file: 3 } } EOF3.5 输出daemon.json3.6 重新加载docker配置systemctl daemon-reload3.7 重启dockersystemctl restart docker3.8 查看镜像配置docker info3.9 运行helloworld容器吧 没有会自动下载官网: https://hub.docker.com/docker run hello-world4. docker使用的基本指令4.1 检查docker 镜像docker images4.2 查看docker容器docker ps -a # (简写) aall4.3 docker删除容器docker image rm redis--- 如果有个容器还占用这个镜像,删除会报错--- 需要先删除应用此镜像的容器然后删除--- 特别注意: 如果直接强制删除镜像 容器也不会删除4.4 docker pull 拉取4.5 运行镜像docker run hello-world5. 制作镜像制作镜像都会先下载一个空的centos镜像(空的系统镜像文件系统)。官方镜像仓库地址为https://hub.docker.com5.1 下载centos镜像docker pull centos:7-官网效果(如图)- 下载操作(如图)5.2 将centos7镜像下载到本地5.3 然后将这个压缩包拉到Windows系统中-- 使用方式(如图):5.4 进入容器(宿主机进入)以及退出docker run -it centos:7 bash docker exec -it centos:7 bash注意: (指令可以组合使用) 例子: -i -t -dit -d是后台运行 it表示交互 dit没有啥意义- 如图所示5.5 docker在后台运行的标准操作包括:1.检查本地是否存在指定的镜像不存在就从公有仓库下载2.利用镜像创建并启动一个容器3.分配一个文件系统(简版linux系统)并在只读的镜像层外面挂载一层可读写层4.从宿主主机配置的双桥接口中桥接一个虚拟接口到容器中去5.从地址池配置一个 ip 地址给容器6.执行用户指定的应用程序5.6 删除容器:docker stop redis docker container rm -f redis #不用停容器 直接删(container可以不写) docker rm -rf redis5.7 删除镜像docker rmi 镜像id(三到四位就行)6. 容器创建后的维护6.1 查看容器信息docker inspect redis6.2 查看容器日志信息docker container logs redis docker container logs -f redis7. 创建容器挂载(数据卷)7.1 创建一个数据卷7.2 查看数据卷7.3 查看指定数据卷信息7.4 配置jdk-- 创建文件Dockerfile并添加配置FROM centos:7 ADD jdk-8u51-linux-x64.tar.gz /usr/local/docker ENV JAVA_HOME/usr/local/docker/jdk1.8.0_51 \ PATH/usr/local/docker/jdk1.8.0_51/bin:$PATH CMD [‘bash’]7.5 使用 Dockerfile 构建镜像(在Dockerfile所在目录执行docker指令)--- 指令: docker build -t jdk:8 .注意 这有个点7.6 查看环境变量8. 总结及后续传送门docker 安装 使用 部署等操作(专栏)