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. xml基础学习笔记03

    继续上篇xml学习笔记,坚持.坚持.再坚持啊.... 本篇主要记录: 35.XML节点的删除与修改 36集.用XML制作RSS订阅源 <?php /* 笔记: 35.XML节点的删除与修改 使用 ...

  2. android 下载图片出现SkImageDecoder::Factory returned null,BitmapFactory.Options压缩

    网上有很多说是因为没有采用HttpClient造成的,尼玛,我改成了HttpClient 请求图片之后还是会出现SkImageDecoder::Factory returned null, 但是直接使 ...

  3. IEEE802.11数据帧在Linux上的抓取

    IEEE802.11数据帧在Linux上的抓取终于得到了梦寐的<802.11无线网络权威指南>,虽然是复印版本,看起来也一样舒服,光看书是不行的,关键还是自己练习,这就需要搭建一个舒服的实 ...

  4. C#指针与字节数组的操作

    private static byte[] ReadBytesFromPtr(IntPtr intPtr, int bufferLength) { var result = new byte[buff ...

  5. Leetcode#109 Convert Sorted List to Binary Search Tree

    原题地址 跟Convert Sorted Array to Binary Search Tree(参见这篇文章)类似,只不过用list就不能随机访问了. 代码: TreeNode *buildBST( ...

  6. NENU_CS_segment_tree

    单点更新 http://acm.hdu.edu.cn/showproblem.php?pid=1166 题意:单点更新加减,区间查询求和. #include<cstdio> #define ...

  7. html5.js

    可以让IE8等不支持Html5的浏览器,支持Html5元素,比如<header> <footer> <section>等标签 /* HTML5 Shiv v3.7. ...

  8. sprytabbedpanels.js库之在页面中插入Tabbed Panels

    向页面加入sprytabbedpanels.js文件.<script src="SpryAssets/SpryTabbedPanels.js" type="text ...

  9. uitableviewcell 和 uibutton

    如果cell上面只有一个button  可以设置button.tag=IndexPath.Row;得到当前点击的行数,设置button属性的时候,可以设置一个全局的button来记住当前点击的butt ...

  10. c#比较器 排序

    原地址:http://blog.csdn.net/xutao_ustc/article/details/6314057 class Program { static void Main(string[ ...