转载请注明出处!!!!

1.Docker 基本指令

下载镜像 docker pull 镜像名称:版本
查看已有镜像 docker images
查看已有容器 docker ps
启动docker docker run -d (后台运行) -p 8080(宿主):8080(容器) 端口映射 -e(环境变量) MYSQL_DATABASE=workdb -e MYSQL_ROOT_PASSWORD=123456 镜像名(镜像id)
关闭 docker stop 容器id
进入docker docker exec -it(i交互式t虚拟控制台) 容器id bash
退出容器 exit
删除容器 docker rm -f 容器id

2.Dockerfile

Dok'ce'rfile 样例:

FROM XXX/jdk:8
MAINTAINER docker_user
ENV JAVA_HOME /user/local/java
ADD apache-tomcat-8.0.32.tar.gz /usr/local/
RUN mv apache-tomcat-8.0.32 tomcat8
EXPOSE 8080
RUN chmod u+x /usr/local/tomcat8/bin/*.sh
CMD /usr/local/tomcat8/bin/catalina.sh start

  

Dockerfile 分为四部分

  1)基础镜像信息

  2)维护者信息

  3)镜像操作指令

  4)容器启动时的指令

Dockerfile 指令

FROM   <image> 或者 FROM <image>:<tag>  指定镜像

  如果需要创建多个镜像时,可以使用多个FROM 指令

MAINTAINER<name>

  指定维护者信息,即 作者

ADD <地址><docker绝对路径>

  复制宿主机中文件到docker中的指定目录 多个使用多次ADD

EXPOSE<port>[<port>...]

  docker 服务暴露的端口  启动时可通过-p映射

ENV <环境变量名称> <环境变量值>

  配置docker中的环境变量  后续RUN 会使用  多个使用多次ENV

CMD

  指定启动容器时执行的命令,每个Dokcerfile 只能执行一条 如果写了多条只有最后一条会被执行

  如果用户启动docker时指定了运行的命令,则会覆盖CMD命令

RUN <command>

  指定在当前镜像的基础上执行指定命令,并提交为新的镜像   命令较长时用  \   来换行

构建步骤

1.vim Dockerfile

2.在Dockerfile所在目录下执行

  

docker build <name> .

3.build 成功后会返回镜像id

可以通过docker image 查看

通过 docker run 运行镜像

  

docker 从入门到精通的更多相关文章

  1. docker从入门到精通再到放弃

    docker说明 docker三大功能:构建(build).运输(ship).运行(run),只需要记下这三大功能就可以了 1.docker入门 docker安装及配置 a.docker源配置 cur ...

  2. 《OD Docker实战》Docker从入门到精通

    一. 安装Docker http://wiki.jikexueyuan.com/project/docker-technology-and-combat/ https://mos.meituan.co ...

  3. Docker从入门到精通(一)——初识

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

  4. Docker从入门到精通(二)——安装Docker

    通过上面文章,我们大概知道了什么是Docker,但那都是文字功夫,具体想要理解,还得实操,于是这篇文章带着大家来手动安装Docker. 1.官方教程 https://docs.docker.com/e ...

  5. Docker从入门到精通(三)——概念与执行流程

    前面我们大概介绍了docker是什么以及如何安装docker,但是对里面出现的一些名词,可能大家还不熟悉,这篇文章就来为大家解惑. 1.容器化平台 Docker 是提供应用打包,部署与运行应用的容器化 ...

  6. Docker从入门到精通(四)——常用命令

    话不多说,本篇文章给大家介绍 docker 的常用命令,基本上会覆盖我们日常使用的命令. 1.万能帮助命令 docker 命令 --help 假设你想用某个命令,但是又不知道该命令的一些参数怎么用,这 ...

  7. Docker从入门到精通(五)——Dockerfile

    Dockerfile 简单来说就是一个包含用于组合镜像的命令的文本文档,Docker 通过读取 Dockerfile 中的指令就可以按步骤生成镜像,那么在制作镜像之前,我们先了解一下镜像的原理. 1. ...

  8. Docker从入门到精通(六)——容器通信

    想要变成 Docker 的高阶玩家,搞懂 Docker 的容器通信是必不可少的. 1.需求 通常一个 Web 项目上线,我们会把开发完成的服务部署在Tomcat 服务器里面,然后需要的持久化数据会存放 ...

  9. Docker从入门到精通(七)——容器数据共享

    什么是容器数据共享?简单来说就是容器与容器之间数据共享,容器与宿主机数据共享. 1.为什么需要数据共享? ①.数据持久化 比如我们有一个MySQL集群,通过容器启动,那么项目运行过程中的数据是保存在容 ...

随机推荐

  1. MarkDown里面的Emoji表情

    我才发现MarkDown里面可以使用一些Emoji表情,好玩,以后写博客的趣味性大大增加 想看全部的就去这里找https://www.webfx.com/tools/emoji-cheat-sheet ...

  2. 浅析HTTP代理原理--转

    代理服务器是HTTP协议中一个重要的组件,发挥着重要的作用. 关于HTTP代理的文章有很多,本文不再赘述,如果不清楚的可以看一下 HTTP代理的基础知识. 本文主要介绍代理的事例,分析一个真实的案例来 ...

  3. spring整合mybatis,批量扫描mapper接口出现异常

    org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component c ...

  4. Python——一个简单的类的创建和应用

    1.创建类,设置属性和给属性设定默认值,设置方法并访问类的属性: 2.利用类创建多个实例,以及调用类的方法的两种办法: 3.设置更新属性的函数,并更新实例的属性. class dog(object): ...

  5. js循环内0.5s停止

    var time_begin = new Date().getTime(); while(true){ if(new Date().getTime()-time_begin > 500) bre ...

  6. ThinkPHP—URL的访问以及各种方法的操作

    1.URL访问 ThinkPHP采用单一入口模式访问应用,对应用的所有请求都定向到应用的入口文件,系统会从URL参数中解析当前请求的模块.控制器和操作,下面是一个标准的URL访问格式: 第一种访问方式 ...

  7. 转化.vdi到.vmdk

    OracleVirtualBox转化.vdi到.vmdk E:\Genymotion-deployed\CentOS_7_64>"D:/Program Files/Oracle/Vir ...

  8. hdu5974 A Simple Math Problem(数学)

    题目链接 大意:给你两个数X,YX,YX,Y,让你找两个数a,ba,ba,b,满足a+b=X,lcm(a,b)=Ya+b=X,lcm(a,b)=Ya+b=X,lcm(a,b)=Y. 思路:枚举gcd( ...

  9. java连接3种数据库 JdbcLinkDB --201801

    先看这篇记录 java连接3种数据库 JdbcLinkDB 测试 --201801 配置文件放在jar外面 读取,遇到的问题 - 海蓝steven - 博客园https://www.cnblogs.c ...

  10. git 命令详细

    git是代码管理工具 github是基于git实现的代码管理平台 git --version 查看git版本 git remote -v 查看clone地址 git init 初始化git //全局设 ...