一:简介:你是否经历过“我本地运行没问题啊!““哪个哥们有写死循环了““完了,服务器撑不住了“等等问题,docker就是这么帮你解决问题的工具,它可以帮你把web应用自动化打包和发布,在服务型环境下进行部署和调整数据库或其他的后台应用。

二:核心技术

  1:命名空间:命名空间(namespaces)是 Linux 为我们提供的用于分离进程树、网络接口、挂载点以及进程间通信等资源的方法。在日常使用 Linux 或者 macOS 时,我们并没有运行多个完全分离的服务器的需要,但是如果我们在服务器上启动了多个服务,这些服务其实会相互影响的,每一个服务都能看到其他服务的进程,也可以访问宿主机器上的任意文件,这是很多时候我们都不愿意看到的,我们更希望运行在同一台机器上的不同服务能做到完全隔离,就像运行在多台不同的机器上一样。

   在这种情况下,一旦服务器上的某一个服务被入侵,那么入侵者就能够访问当前机器上的所有服务和文件,这也是我们不想看到的,而 Docker 其实就通过 Linux 的 Namespaces 对不同的容器实现了隔离。

    Linux 的命名空间机制提供了以下七种不同的命名空间,包括 CLONE_NEWCGROUP、CLONE_NEWIPC、CLONE_NEWNET、CLONE_NEWNS、CLONE_NEWPID、CLONE_NEWUSER 和 CLONE_NEWUTS,通过这七个选项我们能在创建新的进程时设置新进程应该在哪些资源上与宿主机器进行隔离。

  2:网络:Docker的网络,介绍一种网桥的机制。在这种模式下,除了分配隔离的网络命名空间之外,Docker 还会为所有的容器设置 IP 地址。当 Docker 服务器在主机上启动之后会创建新的虚拟网桥 docker0,随后在该主机上启动的全部服务在默认情况下都与该网桥相连。

Build 构件镜像(镜像):

Ship 运输镜像(仓库):

Run 运行镜像(容器):

三:centOS安装Docker:

1:安装

 yum install -y docker

2:启动:systemctl start docker

 systemctl start docker

3:查看状态

 systemctl status docker

  4:查看版本

 docker version

  5:查看信息

 docker info

五:重要开发软件配置及使用

  CentOS下使用Docker部署Mysql:

  1:拉取Docker Hub官方提供的mysql镜像

 dokcer pull mysql:5.7

  2:运行容器

 docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p : -d mysql:5.7
  • --name mysql 创建的容器名称
  • -e MYSQL_ROOT_PASSWORD=root 使用root作为root账号的密码
  • -p 3306:3306 容器的3306端口映射到宿主机器
  • -d 后台运行容器
  • mysql:5.7 镜像名称

3:查看

 docker ps  

  4:连接数据库操作  

CentOS下使用Docker安装Redis

  1:拉取Docker Hub官方镜像

 docker pull redis

  2:启动redis镜像

 docker run redis --name myredis -p : -d redis-server

  3:查看

  4:连接操作

CentOS下使用docker部署Tomact服务器:

  1:拉取Docker Hub官网镜像

 docker pull tomact

  2:查看所有镜像

 docker images

  3:启动tomact

 docker run --name tomcat8080 -d -p : tomcat 

  4:部署war包到tomact下 

CentOS下部署Nginx

  1:拉取Docker Hub官网镜像

 docker pull nginx

2:查看所有镜像

1 docker images

  3:启动nginx

1 docker run -p 80:80 --name nginx_web -it nginx:v1.0.2

  4:部署war包到nginx下 

111111111111

Docker:一个装应用的容器的更多相关文章

  1. 数人云CTO解读Docker 1.12和金融业容器化

    7月29日 数人云 在上海举办金融沙龙,邀请上交所和近二十家来自银行.保险.证券的IT技术专家一同探讨容器技术在金融业中的最佳实践.数人云CTO肖德时在会上将传统金融行业通过容器可以解决的四大问题做了 ...

  2. [Docker镜像] 关于阿里云容器镜像服务的使用(以天池比赛提交镜像为例)

    最近在参加天池比赛,由于比赛需要使用阿里云容器镜像服务完成线上预测任务,所以花费了3-4天的时间了解并使用Docker完成相关镜像操作,在此分享下我学习的内容,以下是本文的目录结构: 介绍 镜像 容器 ...

  3. 在服务器的docker里 装anacond3深度学习环境的全流程超基础

    ​ 背景: 实验室给我分配了一个服务器 已经装好了docker 和nvidi docker . 现在我的目标是创建我自己的docker 然后在我自己的docker里装上anaconda环境. 我以前从 ...

  4. 理解Docker(3):Docker 使用 Linux namespace 隔离容器的运行环境

    本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...

  5. Docker:镜像操作和容器操作

    镜像操作 列出镜像: $ sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE hello-world latest 0a6b ...

  6. docker学习笔记2:容器操作

    一.列出主机上已经创建的容器 docker ps -a 二.创建交互式容器 命令: docker run -i -t ubuntu /bin/bash 其中-i -t 表示创建一个提供交互式shell ...

  7. docker简单介绍----镜像和容器管理

    docker可以分为三部分:docker镜像   docker仓库  docker容器 docker镜像:一个image可以包含一个镜像,也可以理解为一个系统模板,里面安装了相关应用,也可以是纯净版的 ...

  8. Docker应用:Kubernetes(容器集群)

    阅读目录: Docker应用:Hello World Docker应用:Docker-compose(容器编排) Docker应用:Kubernetes(容器集群) 前言: 终于出第三篇了,上个月就已 ...

  9. Docker应用:Docker-compose(容器编排)

    阅读目录: Docker应用:Hello World Docker应用:Docker-compose(容器编排) 前言: 昨天完成了Docker入门示例(Docker应用:Hello World),示 ...

随机推荐

  1. 【代码笔记】iOS-长条label

    一,效果图. 二,代码. ViewController.m - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup ...

  2. FineReport新增多项目甘特图示例及操作

    1.描述 我们在做报表的时候,往往想体现其中随着时间的变化而产生的项目进度的变化和其他相关的系统进展,每当这种时候甘特图便是其中的不二之选.FineReport新增的多项目甘特图可以说是满足了大多数的 ...

  3. 腾讯TBS X5 WebView的简单使用

    工作中经常涉及H5网页的加载工作,最多使用的就是安卓系统控件WebView,但是当网页内容比较多的时候,需要等待很久才能加载完,加载完后用户才能看到网页中的内容,这样用户需要等很久,体验很差. 那能不 ...

  4. 为 Azure Resource Manager 中的虚拟机设置 WinRM 访问权限

    Azure 服务管理中的 WinRM 与 Azure Resource Manager Note Azure 具有用于创建和处理资源的两个不同的部署模型:Resource Manager 和经典. 本 ...

  5. 03-04_配置并启动Managed Server(受管服务器)

    本文重点: 配置Managed Servers(受管服务器) 启动Managed Servers 原理 运行多个Managed Servers实例             一.配置Managed Se ...

  6. Oracle EBS 银行账户API

     创建银行 -- Create Bank DECLARE p_init_msg_list VARCHAR2(200); p_country_code VARCHAR2(200); p_bank_nam ...

  7. 试试SQLServer 2014的内存优化表(转载)

    SQL Server2014存储引擎:行存储引擎,列存储引擎,内存引擎 SQL Server 2014中的内存引擎(代号为Hekaton)将OLTP提升到了新的高度. 现在,存储引擎已整合进当前的数据 ...

  8. CSS未知宽高元素水平垂直居中

    方法一 :table.cell-table 思路:显示设置父元素为:table,子元素为:cell-table,这样就可以使用vertical-align: center,实现水平居中优点:父元素(p ...

  9. Django之views视图函数

    views视图函数属于MTV中逻辑处理的部分视图函数包含着两个对象,HttpRequest对象和HttpResponse对象 一.HttpRequest对象 HttpRequest对象在Django中 ...

  10. VMware 导出镜像文件供 Virtual Box 使用

    1. 问题描述 Windows 系统安装的 VMware 里的安装配置好的虚拟机需要拷贝到 MAC 的 Virtual Box 中. 需要将 VMware 中的虚拟机导出为镜像文件供 Virtual ...