一. 认识Docker

  我们写的代码会接触好几个环境:开发环境,测试环境以及生产环境

开发环境:程序员开发代码的环境

测试环境:开发完的代码部署到测试环境 给测试人员进行测试

生产环境:测试完成后有运维人员部署到生产环境

整个项目写代码和部署的过程:首相程序员在自己的电脑安装开发所需的环境并编写代码在本地测试 ,测试完后会把jar包部署到测试环境,由测试人员测试,然后运维部署到生产环境

以上过程会有个问题:如果开发环境安装了jdk8 但是测试环境安装的是jdk7 就会因为环境不一样导致代码运行出现bug

要解决以上问题那就把环境和代码装到一个容器里发送到测试环境 这样就解决了因为环境不一致导致的运行出现bug ,这个容器就是Docker

Docker是完全使用沙箱机制,互相隔离。也就是说可以在服务器上安装多个容器 容器之间的环境可以不一样,互不影响,

二. 安装Docker

Docker可以运行在MAC, Windows, Centos, Ubuntu 等操作系统,本文章基于Centos7安装

Docker的官网 :https://www.docker.com

#  1. yum 包更新到最新
yum update
# 2. 安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动以来的
yum install -y yum-utils device-mapper-persistent-data lvm2
# 3. 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 4. 安装docker,出现输入的界面都按 y
yum install -y docker-ce
# 5. 查看docker版本,验证是否按照成功
docker -v

三. Docker架构

Client: docker的客户端,通过在客户端操作一些命令来发送给守护进程

Hosts:docker的核心

  local host :   本地机器

  remote host: 远程机器

  daemon:docker安装启动后会以daemon守护进程的形式存在

    container:  根据镜像所创建出来的实例

    image: 镜像,来源于远程仓库Registries

Registries:远程仓库

  Docker hub:官方提供的仓库,服务器在国外

  private registry: 自己搭建的私有仓库(私服)

四. 配置Docker镜像加速器

默认情况在,从docker hub ( https://hub.docker.com/) 下载docker镜像太慢,一般会配置镜像加速器

  • USTC: 中科大镜像加速器( https://docker.mirrors.ustc.edu.cn)
  • 阿里云
  • 网易云
  • 腾讯云

一下以阿里云为例安装镜像加速器

1.登录阿里云

2. 点击右上角的控制台进入一下界面

3. 点击左上角的面包按钮 ,在产品与服务的搜索框里搜索 <镜像>,点击容器镜像服务

4. 在左侧菜单栏点击镜像加速器,右边的就是加速器的地址和操作文档 ,

5. 选择你得服务器系统 并按照文档按照镜像加速器。

五. Docker服务相关命令

#  启动docker服务
systemctl start docker
# 查看docker服务状态
systemctl status docker
# 停止docker服务
systemctl stop docker
# 重启docker服务
systemctl restart docker
# 开机自动启动docker服务
systemctl enable docker

六. Docker镜像相关命令

#  查看本地镜像
docker images

REPOSITORY: 镜像名称

TAG: 镜像版本号

IMAGE ID:  镜像id 如果要删除某个镜像就是根据这个id删除的

CREATE:  镜像的创建时间

SIZE:镜像的大小

#  搜所镜像,比如搜所redis镜像
docker search redis

#  下载redis镜像,如果redis后面不跟上版本号 那下载的就是 latest
docker pull redis
# 下载指定版本的redis镜像
docker pull redis:5.0

如果我想下载指定版本的redis镜像 ,但是又不知道redis有哪些版本怎么办呢,

1. 进入docker的官方网站  hub.docker.com,所有redis

2,   选择官方镜像

3.  点击redis 后就可以看到 支持的版本

#  删除镜像,例如删除redis 5.0
docker rmi 02fee89f17ad
#根据镜像名+版本号删除
docker rmi redis:5.0
#删除本地所有镜像
docker rmi `docker images -q`

docker的安装和命令的更多相关文章

  1. docker 启动安装等命令

    确认是否安装url whereis curl 启动docker服务: sudo service docker start sudo service docker stop 安装curl sudo ap ...

  2. Docker简易安装及命令实例

    docker ~ ~ ~ Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中, ...

  3. linux中docker容器安装vi命令详解

    在使用docker容器时,同时你docker里的系统正好是debian或ubuntu的时候,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要 ...

  4. docker中安装ps命令

    apt-get update && apt-get install -y procps

  5. centos7安装docker并安装jdk和tomcat(常用命令)

    阿里专属的镜像加速 在宿主机器编辑文件:vi /etc/docker/daemon.json 阿里专属的镜像加速地址,类似于"https://91cntlkt.mirror.aliyuncs ...

  6. docker下centos安装ping命令

    https://blog.csdn.net/king_gun/article/details/78423115 [问题] 从docker hub上拉取到则镜像centos:6.7在执行ping命令是报 ...

  7. windows下docker的安装及常用命令学习

    docker search 镜像名 本文主要介绍Docker在Windows下的安装.关于Docker的介绍和文档在其官网中可以找到:http://www.docker.com .安装环境:Windo ...

  8. 在Docker中安装.NET Core(使用命令行工具)

    在Docker中安装.NET Core目前共有两种方法:1,使用命令行工具安装2,使用VS2017来安装 本文主要介绍使用命令行工具来安装: 1,安装Docker(如果本机已经有Docker环境,可以 ...

  9. docker的基本安装和命令详解

    docker的安装 yum install docker-io docker的启动 /bin/systemctl start docker.service docker查找镜像 docker sear ...

  10. docker的安装及常用命令

    一:概述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用 ...

随机推荐

  1. flutter系列之:Navigator的高级用法

    目录 简介 named routes 给named route传参数 从Screen返回值 向Screen传值 总结 简介 上篇文章我们讲到了flutter中navigator的基本用法,我们可以使用 ...

  2. NOIP2017 - D2T3 - phalanx

    按照思维难度加大和代码难度减小的顺序,我们来看这道题的不同做法. 若你无畏,我亦无畏 - 平衡树 平衡树简直是天然用来维护这种操作的--合并两个区间,提取一个值.我们可以对每个行的前 \(m-1\) ...

  3. 苹果手机iframe高度设定不生效而且无法滑动

    为iframe加个div.d1 .d1{ -webkit-overflow-scrolling: touch; overflow-y: scroll; height: 500px; 最好加上固定的高度 ...

  4. html添加公共文件

    html添加公共文件 记录添加公共头尾文件的方法 thymeleaf模板引擎 common.html index.html

  5. iOS 防止charles抓包

    方案一:检查手机Wifi是否设置了代理     public func fetchHttpProxy() -> Bool {        guard let proxy = CFNetwork ...

  6. php的几种接值方式

    1.传单个参数 单个参数这种比较简单,例如 想像edit操作里面传递一个id值,如下写法__URL__/edit/id/1 http://localhost/index.php/user/edit/i ...

  7. element ui中table动态列切换时,表格样式变形

    现象:定义多个头部和多个数据体,可以自由切换不同的头部和相应的数据体,但是切换过程表格会变形. 解决办法:table增加索引,切换头部和数据时,修改为不同的索引,即可解决 重点:表格标签上的  key ...

  8. go简单写个ini配置文件读取工具

    直接上代码: 1 package main 2 3 import ( 4 "fmt" 5 "io/ioutil" 6 "reflect" 7 ...

  9. NTP网络时间服务器(时间同步服务器)产品介绍及技术研究分析

    NTP网络时间服务器(时间同步服务器)产品介绍及技术研究分析 目前,市场上的NTP网络时间服务器鱼龙混杂,厂家良莠不齐,对此选择一家有实力的厂家及性价比高的NTP网络时间服务器厂家显得尤其重要. NT ...

  10. 初学银河麒麟linux笔记 第五章 windows中开发的QT程序适配linux的修改——外部控件重新调用

    本人在WINDOWS系统中使用了"飞扬青云"的控件 https://gitee.com/feiyangqingyun/QUCSDK 由于系统移植,调用库应改为linux系统,首先下 ...