当前位置: 首页 > news >正文

关于Docker入门

目录

1.Docker简介

2.Centos7安装Docker

3.Docker HelloWorld运行原理解析

4.阿里云镜像仓库

5.Docker命令

 Docker基本命令

Docker镜像常用命令

Docker 容器常用命令


1.Docker简介

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低

Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了

Docker官网:Docker: Accelerated, Containerized Application Development

Docker的应用场景

Web 应用的自动化打包和发布

自动化测试和持续集成、发布

在服务型环境中部署和调整数据库或其他的后台应用

从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境

Docker 的优点

简化程序、避免选择恐惧症、节省开支

Docker的架构

Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器

Docker 容器通过 Docker 镜像来创建

容器与镜像的关系类似于面向对象编程中的对象与类:

 

 

Docker 和虚拟机的区别

Docker是一种轻量级的虚拟化技术,比传统的虚拟机性能更好

下图是虚拟机的体系结构:

server - 表示真实电脑。

Host OS - 真实电脑的操作系统,例如:Windows,Linux

Hypervisor - 虚拟机平台,模拟硬件,如VMWare,VirtualBox

Guest OS - 虚拟机平台上安装的操作系统,例如CentOS Linux

App - 虚拟机操作系统上的应用,例如nginx

下图是Docker的体系结构:

 

server - 表示真实电脑

Host OS - 真实电脑的操作系统,例如:Windows,Linux

Docker Engine - 新一代虚拟化技术,不需要包含单独的操作系统

App - 所有的应用程序现在都作为Docker容器运行

 

这种体系结构的明显优势是,不需要为虚拟机操作系统提供硬件模拟。所有应用程序都作为Docker容器工作,性能更好

2.Centos7安装Docker

#查看内核
uname -r
#更新yum源为最新
yum update -y
#安装Docker所需要的工具包
yum install -y yum-utils device-mapper-persistent-data lvm2
#设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#下载安装Docker
yum install docker-ce docker-ce-cli containerd.io -y -y
#启动Docker并且设置开机自启动
systemctl start docker
systemctl enable docker
#检测Docker是否安装成功
docker version

 

我们可以参考:Install Docker Engine on CentOS | Docker Documentation  来安装

我们切换到root用户

1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

通过 uname -r 命令查看你当前的内核版本

uname -r

2、使用 root 权限登录 Centos。确保 yum 包更新到最新。

yum update -y

3、卸载旧版本(如果安装过旧版本的话)

yum remove docker  docker-common docker-selinux docker-engine

4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

yum install -y yum-utils device-mapper-persistent-data lvm2

5、设置yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

6,安装最新版本的Docker

$ yum install docker-ce docker-ce-cli containerd.io -y -y

如果出现下面问题:

1、没网,试着:ping www.baidu.com

如果显示没有连接的话,就说明没网,也就无法使用yum 命令。

2、ping通了的话,还是是用不了yum命令,说明是yum镜像没有了,那么就得下载一个来更新

启动Docker并设置开机启动

systemctl start docker

systemctl enable docker

Docker HelloWorld测试:

docker run hello-world

 

3.Docker HelloWorld运行原理解析

运行  docker run hello-world

本地仓库未能找到该镜像,然后去远程仓库寻找以及下载该镜像

 我们具体来分析下 执行原理和过程:

 

 从左到右 client客户端,Docker运行主机,远程仓库

docker build ,pull,run分别是 构建,拉取,运行命令,后面再细讲

中间Docker主机里有 Docker daemon主运行线程,以及Containers容器,容器里可以运行很多实例,(实例是从右侧Images镜像实例化出来的)Images是存储再本地的镜像文件,比如 Redis,Tomat这些镜像文件

右侧是Registry镜像仓库,默认远程镜像仓库 Docker  不过是国外主机,下载很慢,不稳定,所以我们后面要配置成阿里云仓库镜像地址,稳定快捷

执行 docker run hello-world的过程看如下图例:

 

4.阿里云镜像仓库

安装mysql:

 

 

1,登录进入阿里云镜像服务中心,获取镜像地址

进入阿里云容器镜像服务地址:

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

 

这里我们获取镜像地址

在/etc/docker目录下找到在daemon.json文件(没有就新建),将下面内容写入

 

3,重启daemon

systemctl daemon-reload

4,重启docker服务

systemctl restart docker

 

5.Docker命令

        Docker基本命令

启动Docker
systemctl start docker
停止Docker
systemctl stop docker
重启Docker
systemctl restart docker
开机启动Docker
systemctl enable docker
查看Docker概要信息
docker info
查看Docker帮助文档
docker --help
查看Docker版本信息
docker version

Docker镜像常用命令

 查询
docker images …
docker search …
新增
docker pull …
docker push …
删除
docker rmi …
docker rmi -f …

1,docker images 列出本机所有镜像
docker images
列出本机所有镜像
2,docker search 搜索镜像
和 https://hub.docker.com/ 这里的搜索效果一样;
OPTIONS可选参数:
–no-trunc 显示完整的镜像描述
-s 列出收藏数不小于指定值的镜像
–automated 只列出Docker Hub自动构建类型的镜像
3,docker pull 下载镜像
docker pull 镜像名称:[TAG]
注意:不加TAG,默认下载最新版本latest
4,docker rmi 删除镜像
1,删除单个:docker rmi 镜像名称:[TAG]
如果不写TAG,默认删除最新版本latest
有镜像生成的容器再运行时候,会报错,删除失败;
我们需要加 -f 强制删除
2,删除多个:docker rmi -f 镜像名称1:[TAG] 镜像名称2:[TAG]
中间空格隔开
3,删除全部:docker rmi -f $(docker images -qa)
 

Docker 容器常用命令

新增
docker run
docker run -di
docker run -it
docker run --name
查询
docker ps
docker ps -a
删除
docker rm
docker rm -f
进入容器
docker exec -it tomcat1 /bin/bash

相关文章:

  • 代做课题网站/百度权重排名查询
  • 百度云做.net网站/网站推广策划
  • 网站有订单了有声音提醒怎么做/搜狗搜索旧版本
  • 汇编语言做网站/搜索引擎优化技术都有哪些
  • 网站建设原创软文/谷歌浏览器下载手机版
  • 电子商务网站建设实训作业/网络营销管理名词解释
  • JAVA手机网站销售
  • Day01-Day50
  • Docker: 云与容器编排
  • 用于生成随机曲面的Matlab程序(Matlab代码实现)
  • P1220 关路灯(区间dp)
  • JCPenney社会责任审核标准--上篇
  • 【科研工具】一款好用的科研插件-easyScholar
  • leetcode1799 --- 状态压缩与动态规划
  • 自动控制原理笔记-结构图及其等效变换
  • 【UE4 第一人称射击游戏】04-血溅效果
  • 2022年最好用的五款设备管理软件
  • 07_文件操作