Docker学习篇1_Docker概述、Docker安装、Run的流程和Docker原理、Docker常用命令、Docker安装Nginx、tomcat练习

目录
  • Docker简单理解概述

  • Docker安装

  • Docker原理

  • Docker常用命令

    • 帮助命令
    • 镜像命令
    • 容器命令
  • Docker安装nginx

内容
一、Docker的简单理解概述

1.Docker为什么会出现

一款产品(项目)开发完后之后需要上线,开发环境和部署环境是两套环境,两套应用配置

环境配置是十分麻烦的,特别是大型的项目(涉及集群Redis、ES、Hadoop等),而项目部署的时候一般不能带上环境部署,非常麻烦

像springboot项目 可以打成jar包部署,其他的 像redis、MongoDB、JDK等环境都需要重新在服务器部署

现在Docker给以上问题的解决方案,开发打包部署 一套流程环境直接下来

2.大致原理

java — jar(及其他环境)---- 打包带上环境(镜像)—上传仓库(Docker仓库,类似于商店)—服务器下载发布的镜像—直接运行

思想:打包装箱,每个箱子都是隔离的,不同的东西能隔离放置为一个整体。一种容器技术,并且可以充分利用服务器。

3.历史
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Docker是使用Go语言开发的,官网地址:www.docker.com

文档地址:www.docs.dorker.com

仓库地址:www.hub.docker.com

4.能做什么

在这里插入图片描述

虚拟机技术缺点

  • 资源占用多
  • 冗余步骤多
  • 启动很慢

在这里插入图片描述

Docker 和 虚拟机 技术的不同

  • 传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统中安装运行软件
  • 容器内的应用可以直接运行在宿主机内,容器复用一个内核,每个容器相互隔离,都有一个属于自己的文档系统

DevOps(开发、运维)

  • 应用更快速的交付和部署
  • 更便捷的升级和扩容
  • 更简单的系统运维
二、Docker安装

1.Docker的基本组成

在这里插入图片描述

  • 镜像:好比是模板,类似字节码,产生容器,可以创建多个容器

  • 容器:独立运行一个或者一组应用,可以理解为轻巧的linux系统

  • 仓库:存放紧张的地方,分为共有和私有仓库

2.环境准备

  • 查看阿里云服务器内核uname -r

  • 查看服务器系统版本cat /etc/os-release
    在这里插入图片描述

  • 查看Docker文档:https://docs.docker.com/get-started/overview/

  • 开始安装

# 1.安装工具包
sudo yum install -y yum-utils 

# 2. 设置镜像仓库,国外的较慢,建议使用阿里云的镜像地址

 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 最好更新yum 软件包索引

yum makecache fast

# 3. 安装docker

sudo yum install docker-ce docker-ce-cli containerd.io # 注意,我的这一步报错,服务器镜像不是centOS,是阿里云的Alibaba Cloud Linux


# 启动docker

sudo systemctl start docker




我的第三步安装出了问题,参考:Linux报错解决1_阿里云ecs不能使用yum的任何指令、安装docker执行yum makecache fast 报错,最终使用阿里云推荐的方式直接安装的。

  • 启动查看版本

在这里插入图片描述

  • 测试hello-world

在这里插入图片描述

  • 查看下载的docker-image,刚才的hello-world是否存在

在这里插入图片描述

三、阿里云镜像加速

参考:阿里云服务器配置docker镜像加速服务

四、Run的流程和Docker的原理

在这里插入图片描述
Docker是Client-Server 结构的系统,Docker的守护进程运行在主机,通过Socket从客户端访问

在这里插入图片描述
Docker为什么比虚拟机快?

  • 有更少的抽象层
  • 利用宿主机的内核,vm则是需要guest OS
五、Docker的常用命令

基本分类

  • 帮助命令
  • 镜像命令
  • 容器命令

官网地址:https://docs.docker.com/engine/reference/commandline/cli/

镜像常用命令

  • docker --help
  • 查看镜像docker images
  • 搜索镜像docker search xxx
  • 下载镜像docker pull xxx(不写tag默认为最新版),指定版本docker pull xxx:版本
  • 删除镜像docker rmi -f xxx 可以根据id或者名称删除,多个删除空格隔开

容器常用命令

  • 新建容器并启动 进入容器docker run [可选参数] xxx
    在这里插入图片描述

  • 退出容器exit(停止并退出)、ctrl + p + q (退出不停止)

  • 列出所有运行的容器docker ps [-a]

  • 删除容器docker rm -f xxx

  • 启动和停止容器docker start xxx、docker restart xxx 、docker stop xxx、docker kill xxx

常用进阶命令

  • 后台启动程序 docker run -d xxx,注意这里后台启动之后若无前台进程会自动退出
  • 查看日志 docker logs
  • 查看容器中的进程信息docker top xxx
  • 查看容器内部信息元数据docker inspect xxx
  • 进入当前正在运行的容器docker exec -it xxx bashShell(-it表示交互模式,bashShell表示命令行,打开一个新的终端)、docker attch xxx(在当前的终端)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六、Docker安装Nginx

基本步骤

  • docker search nginx
  • docker pull nginx
  • docker images
  • docker run -d --name nginx01 -p 3344:80 nginx(3344为端口暴露,每个镜像类似一台虚拟机,镜像上的容器nginx的端口是80,但是服务器上需要暴露为3344)

在这里插入图片描述

  • 进入当前运行的nginx内部docker exec -it nginx01 /bin/bash
  • 查看nginx配置文件位置 whereis nginx

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

scl、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值