Docker 应用

目录

一、Docker 初识

1.1 介绍

1.2 Docker 是什么

1.3 为什么需要 Docker

1.4 暂无

1.5 Docker 的用途

1.6 Docker 的特点

1.7 Image镜像

1.8 容器和仓库

二、Docker 的安装

2.1 Docker 在 Mac OS 和 Windows 下的安装

2.2 更换系统镜像

2.3 Docker 在 Linux 下的安装

三、 Docker的应用

3.1 第一个 Docker 容器

3.2 暂无

3.3 后台运行容器

3.4 访问nginx容器

3.5 dockerfile实战

四、 总结


一、Docker 初识

1.1 介绍

        1. 基本概念、用途、核心思想

        2. Docker 的组成、架构、重要概念

        3. Docker 的安装

        4. 第一个 Docker 容器

        5. 运行 Nginx 镜像,并访问到Docker容器内部

        6. 制作自己的 Docker 容器,dockerfile 实战

1.2 Docker 是什么

Docker 的基本概念、用途、核心思想:

        Docker 约2008年诞生 2014年应用广泛。京东2016年全部业务10万 Docker 容器

       Docker 是什么?Docker 是一个用来装程序及其环境的容器,属于Linux容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的Linux容器解决方案。

1.3 为什么需要 Docker

        环境配置的难题

        虚拟机:带环境一起安装的解决方案。缺点:资源占用非常多;必走完整操作系统的步骤;启动慢;

        Docker 的基础——Linux容器(2001年出现)(对进程进行隔离。容器里面的进程接触到的资源都是虚拟的,这样就和底层宿主操作系统隔离了)

        云计算、购物节弹性要求促进 Docker 广泛应用

1.4 暂无

1.5 Docker 的用途

提供统一的环境

提供快速拓展、弹性伸缩的云服务(下载、启动 即可拓展服务)

防止其他用户的进程把服务器资源占用过多(死循环 内存泄漏会占满CPU 内存 磁盘等)

1.6 Docker 的特点

标准化: 

        运输方式(把程序和环境从一个机器运到另一个机器的)(不用QQ传 U盘拷 网盘分享)

        存储方式(程序和环境的存储) 

        API 接口(不需要 Tomcat 等应用的命令了,都标准化了)

灵活:即使是最复杂的应用也可以集装箱化

轻量级:容器利用并共享主机内核

便携式:可以在本地构建,部署到云(镜像仓库),并在任何地方运行

1.7 Image镜像

Docker 的组成、架构、重要概念

image 镜像: 

        本质就是一系列的文件,包括应用程序的文件,包括运行环境。

        存储:保存格式 涉及Linux存储技术,联合文件系统,UnionFS。分层文件系统,可以把不同的目录去挂到同一个虚拟的文件系统下。

        image文件在实际开发中也正是如此的,生成一个自己的image镜像,往往都是在别人image镜像的基础上作改动 。

1.8 容器和仓库

容器:

        镜像类似于Java中的类,而容器就是实例。

        容器(上图中的 writable Container )的这一层是可以修改的,而镜像是不可以修改的。读取文件时,从上到下读取。

        同一个镜像可以生成多个容器独立运行,而他们之间没有任何的干扰。

        生成容器会产生一个容器文件。把容器关闭,这个文件也不会被删除。

仓库:

        上传镜像,方便镜像传输

        hub.docker.com 中央仓库

        https://c.163yun.com/hub#/m/home/ 备选方案网易云

        公有、私有

client 和 deamon:

        client提供给用户一个终端,用户输入 Docker 提供的命令来管理本地或远程的服务器

        deamon服务端守护进程,接收Client发送的命令并执行相应的操作

二、Docker 的安装

2.1 Docker 在 Mac OS 和 Windows 下的安装

MacOS:

        官网下载 Docker Desktop 社区版

2.2 更换系统镜像

        阿里云控制台 实例更换系统镜像为 CentOS 7.6 64位。

2.3 Docker 在 Linux 下的安装

        传到CSDN资源上,完全按照文档做就好。

三、 Docker的应用

3.1 第一个 Docker 容器

下载镜像:

         docker pull [OPTIONS] NAME[:TAG]

        docker images [OPTIONS] [REPOSITORY[:TAG]]    查看本机镜像

        library 是默认仓库,代表Docker官方库

        为始终保持版本一致,下载镜像时最好把latest换成固定版本号 

运行镜像:

        docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

        运行镜像时也要把版本号加上,不然会去下载最新镜像并运行 

        容器 发送流到 daemon 发送至 客户端|命令行

查看容器:

        docker ps ;      PORTS展示端口情况;

停止容器:

        docker stop 容器ID

3.2 暂无

3.3 后台运行容器

运行Nginx镜像,并访问到Docker容器内部

        nginx可运行在前台(ctrl+c关闭),也可运行在后台。

后台运行容器:

        docker run -d 镜像名:版本号

查看容器内部:

        docker exec -i(让容器输入有效)t(给我们分配一个终端)(把容器内部终端映射到当前终端) 容器ID bash(启动终端)

容器内部和Linux操作系统差不多,文件夹名字,nginx路径也是 usr/sbin/nginx

3.4 访问nginx容器

Docker的网络模式:

         Bridge: 网卡独立、路由独立、iptables规则独立;通过桥连接;

        Host: 容器不会获得独立的网络,而是和主机使用同一个;

        None: 没有网络;

        端口映射: docker run -p 主机端口:容器端口;

                          docker run -P(自动映射容器内部的所有端口);

查看端口:

        netstat -na | grep 8080

3.5 dockerfile实战

dockerfile作用:

​​​​​​​        告诉Docker怎样制作我的镜像,制作镜像的每一步分别是什么,是一个文本文件,用来配置镜像的。Docker会根据配置生成镜像。

使用dockerfile的好处:

        可以把dockerfile放到版本控制下,修改可被追踪。环境配置等信息清晰可见。

文件名:Dockerfile

语法:

        FROM alpine:latest  // 基础镜像是什么,类似于继承哪个镜像

        MAINTAINER cheng  // 维护者是谁

        CMD echo 'hello my dockerfile'

制作镜像:

        docker build -t(指定镜像名字) hello_docker .(Dockerfile所在路径)​​​​​​​

四、 总结

        关闭Docker:  systemctl stop docker

        QCon软件大会、中国软件技术大会、全球互联网技术大会 

你可能感兴趣的:(Java工程师技术栈,docker,容器,运维)