1、docker
docker是一个打包应用的工具
非常强大,能把操作系统也打在包里,进行无差别部署和运行。
所以docker也被认为是建立在操作系统上的虚拟机。
 
2、基本概念
镜像(image):
类似操作系统的镜像,包括一个完整可运行的系统,操作系统、基础组件、应用程序都可以打包在一个镜像中。
容器(container):
容器是某一个docker镜像的执行实例,可以启动、关闭、删除,可以理解成正一个linux系统,同一台机器上的多个container互相隔离。
 
3、简单使用
#安装docker(centos6.5以上)
yum install -y epel-release
yum update -y device-mapper
yum erase -y docker
yum install -y docker-io
service docker status
 
#从官方仓库中下载image
docker pull centos
docker pull ubuntu
 
#查看本地可用的image
docker images
 
#启动一个centos的dokcer容器,直接进入bash
docker  run  -it  centos  bash 
 
#后台启动一个centos的dokcer容器
docke r run  -d  -it  centos
 
#后台启动一个centos的dokcer容器,监听80端口,映射到容器里的8080端口
docke r run -p 80:8080  -d  -it  centos
 
#查看正在运行的docker容器
docker ps
 
#查看所有docker容器
docker ps -a
 
#在运行状态的容器里启动一个bash(进入正在运行的容器)
docker  exec  -it  $container_id  bash
 
#启动/关闭/重启容器
docker  start/stop/restart  $container_id
 
#删除容器
docker  rm  $container_id
 
4、创建自定义镜像,打包应用
mkdir test_image
cd  test_image
#创建Dockerfile
vi  Dockerfile
# 自定义image
#继承一个已有的镜像,这里用cetos作为基础
FROM centos
MAINTAINER Luo <luochongyang@yazuo.com>

#安装一些基础组件
RUN yum install -y java-1.7.0-openjdk

#把应用程序放入镜像(app1.tar.gz 事先放在同级目录下

RUN mkdir /yazuo_apps/
ADD app1.tar.gz /yazuo_apps/
 

#打包镜像,镜像名为app1,版本为1.0

docker build -t app1:1.0 .
 
#启动镜像,并启动app1,把本机的8080端口映射到容器的8080端口
docker run -d -p 8080:8080 -it /yazuo_apps/app1/start.sh
 
#导出镜像(直接通过文件来分发镜像到其他机器)
docker  save  -o app1-1.0.image  app1:1.0
 

docker 笔记(基本概念、快速运行、自定义镜像)的更多相关文章

  1. 如何在k8s集群里快速运行一个镜像?

    在docker里,快速run一个镜像,很简单的. k8s的世界,与之类似. 但要注意一下,如果镜像本身没有提供command命令,这个容器由于前台输出完成,很快就退出了. 所以,遇到这种镜像,就最好自 ...

  2. Docker | 第五章:构建自定义镜像

    前言 上一章节,主要是介绍了下Dockerfile的一些常用命令的说明.我们知道,利用Dockerfile可以构建一个新的镜像,比如运行Java环境,就需要一个JDK环境的镜像,但直接使用公共的镜像时 ...

  3. docker:打包node+npm+pm2运行环境镜像

    最近公司有一个外包项目需要在不能连外网的情况下部署node项目到甲方公司内部.直接使用node官网的安装包可以获得node运行环境,但像pm2这种工具要离线装就会比较费劲,所以最终选择了使用docke ...

  4. Docker学习笔记一 概念、安装、镜像加速

    本文地址:https://www.cnblogs.com/veinyin/p/10406378.html  Docker 是一个容器,可以想象成一个轻便的虚拟机,但不虚拟硬件和操作系统. 优点:启动快 ...

  5. Docker实战(六)之使用Dockerfile创建镜像

    Dockervile是一个文本格式的配置文件,用户可以使用Dockerfile来快速创建自定义镜像. 1.基本结构 Dockerfile由一行行命令语句组成,并且支持以#开头的注释行. 一般而言,Do ...

  6. docker基本概念,创建、起动实例,保存自定义镜像等常用操作

    14年docker火了一阵,当时自学整理了一份文档,后来冷落了. 现在发现很多同事还是想学习docker,但无从下手,所以重新整理了这篇分享,10分钟就可以带你彻底理解docker,并能够创建属于自己 ...

  7. DOCKER 学习笔记2 认识dockerfile自定义镜像

    Dockerfile 概念 Dockerfile 是一个文本文件,但包含所构建容器在运行时候的参数.库.资源配置.可以简单理解为我们现有的镜像,比如Centos/Nginx 但我们需要构建一个容器的时 ...

  8. Docker笔记(四):Docker镜像管理

    原文地址:http://blog.jboost.cn/2019/07/16/docker-4.html 在Docker中,应用是通过容器来运行的,而容器的运行是基于镜像的,类似面向对象设计中类与对象的 ...

  9. 创建Python数据分析的Docker镜像+Docker自定义镜像commit,Dockerfile方式解析+pull,push,rmi操作

    实例解析Docker如何通过commit,Dockerfile两种方式自定义Dcoker镜像,对自定义镜像的pull,push,rmi等常用操作,通过实例创建一个Python数据分析开发环境的Dock ...

随机推荐

  1. NABC的特点分析

    题目:                         请把采用卡片分类的方法讨论你们的团队开发项目特点,再按照 NABC 的框架分析每个特点. 每一个组员针对其中的一个特点将NABC的分析结果发表博 ...

  2. Linux 下开放指定端口

    安装tomcat后,在客户端输入地址  http://localhost:8080/ ,发现默认端口8080不能访问. 由于Linux防火墙默认是关闭8080端口.因此,若要能够访问8080端口,可以 ...

  3. MyEclipse2015 编写js报 'Calculating completion proposals..' has encountered a problem.

    前言:编写js(按点后)弹出这个鬼东西,百度不到..估计是破解有问题.只有换版本了. 版本:MyEclipse 2015 stable 1.0 详细错误信息 解决:换成2.0版本

  4. bzoj 1565 最大权闭合子图

    因为每个植物都有保护的点(每排相邻的右面的算是保护左面的),所以连他和保护 的点一条边,然后每个点有自己的权值,要找到最大的权值且满足每个点在访问时他 的前驱一定被访问,那么反向建边,转化为后继必须访 ...

  5. [noip2005提高]过河 dp

    由于L的范围到了109,用普通dp做肯定是不成了: 可以观察到M的数量很小,dp在转移的过程中有大量的无用转移: 可以想到压缩范围,问题是如何压缩,观察若S=9,T=10时,能到达的点,9,10,18 ...

  6. Git常用命令大全

    查看.添加.提交.删除.找回,重置修改文件 git help <command> # 显示command的help git show # 显示某次提交的内容 git show $id gi ...

  7. JAVA非空条件三元运算符

    //非空情况处理: // Integer holidayPrice = order.get("holidayPrice")!=null?Integer.valueOf(String ...

  8. jQuery scroll事件

    scroll事件适用于window对象,但也可滚动iframe框架与CSS overflow属性设置为scroll的元素. $(document).ready(function () { //本人习惯 ...

  9. jQuery对象和javascript对象互换

    jquery变js var obj=$("dom"); 或 var obj=jQuery("dom"); js 变 jquery var $jobj=$(obj ...

  10. 【面试题】Round A China New Grad Test 2014总结

    我也有够懒的,今天才跑来写总结,自觉面壁中… 上一篇是Practice Round,今天是Round A,五道题. 每次做完都想说,其实题不难..但在做的过程中总是会各种卡,只有自己一行一行实现了,才 ...