DOCKER常用命令及参数

  DOCKER镜像管理命令:

    检索:docker search image_name

    下载:docker pull image_namge

    查看本地镜像:docker images

    删除:docker rmi image_id

  DOCKER容器命令:

    运行:

      以守护进程方式启动:docker run --name container_name -d  image_name

      以交互方式启动,并进行命令行界面:docker run --name contain_name -i -t image_name

        ctrl-z退出当前命令行,docker attach contain_name再进入

        --link=container_name or id:name 使用这个选项在你运行一个容器时,可以在此容器的/etc/hosts文件中增加一个额外的name主机名,这个名字为container_name的容器的IP地址的别名。这使得新容器的内部进程可以访问主机名为name的容器而不用知道它的Ip

    查看:docker ps

        -a:查看所有的容器包括已经停止运行的

    停止:docker stop contianer_name/contain_id

    启动:docker start container_name/container_id

    端口映射:docker run -d -p 6378:6379 --name port-redis redis

    删除:docker rm container_id/container_name

DOCKERFILE:创建自定义image,包含用户指定的软件,依赖等

  当前目录下包含dockerfile,使用命令build来创建新的image,命名为edwardsbean/centos6-1.7

    docker build -t edwardsbean/centos6-1.7

  dockerfile的关键字

    FROM:基于哪个镜像

    RUN:安装软件

    MAINTAINER:镜像创建者

    CMD:container启动时执行的命令,但一个dockerfile中只能有一个CMD命令,多条执行最后的一条

    ENTRYPOINT:同CMD,但是如dockerfile中有CMD ["echo", "hello world"]和ENTRYPOINT ["echo", "hello world"]时,执行docker run image_name dir,前一个会输出目录信息,后一个是hello world dir,和CMD用于执行初始化脚本

    USER:使用哪个用户跑

    EXPOSE:开启的端口

    ENV:环境变量(ENV <key> <VALUE>)

    ADD:将文件拷贝到image的文件系统中,本地,URL( ADD <src> <dst>)

    COPY:本地文件首先用,不解压(COPY <src> <dst>)

    VOLUME:将本地的文件或其他container文件挂载到container中,VOLUME mountpoint

    WORKDIR:切换目录,对RUN CMD ENTRYPOINT生效

FROM java:8-jre
MAINTAINER m242565210 ADD ./apache-tomcat-8.5.23.tar.gz /opt/
ENV TOMCAT_HOME /opt/apache-tomcat-8.5.23
ENV PATH $PATH:$TOMCAT_HOME/bin EXPOSE 8080 WORKDIR /opt/apache-tomcat-8.5.23/bin
ENTRYPOINT sh ./startup.sh && \
tail -f /opt/apache-tomcat-8.5.23/logs/catalina.out

  Docker容器后台运行,就必须有一个前台进程。容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的

COMPOSE的命令

  build(构建或重构服务),help,kill,logs,port,ps,pull,restart,rm(删除停止的容器),run(运行一个一次性命令),start,stop,up

DOCKER 开发学习记录的更多相关文章

  1. 寒假安卓app开发学习记录(3)

    今天终于开始正式的安卓软件开发学习.开始用了大约一个小时的时间把创建第一个软件的学习视频观看了一下.跟着视频一边学习一边操作. 首先是创建项目,创建的过程和之前创建Java项目的过程相似.先给app起 ...

  2. 微信小程序开发学习记录

    两天撸了一遍小程序的文档,跟网页相似,个人感觉是简化版.但是因为开放了很多微信自带的接口又使得部分功能开发起来相对方便 思维导图如下: 目前我的理解大概是这么个逻辑,以后深入学习后可能会有更改 跟着大 ...

  3. 寒假安卓app开发学习记录(1)

    今天是安卓软件开发的第一天.虽然之前有了对javaweb的学习,但是对基于安卓的软件开发还是一无所知.所以,第一步就是寻找学习资源,从慕课网上还有菜鸟教程上都找到了对应的教程.然后就开始了开发的第一步 ...

  4. iOS开发学习记录【整理】

    ◆ 开发环境基于 MacBook / Mac OS 10.10 / Xcode 6.1 / iOS 8 1.关于@property 在 .h 里声明了@property之后,默认 .m 不需要写@sy ...

  5. MyBatis开发学习记录

    使用MyBatis时主要是完成POJO和SQL的映射规则 MyBatis基本构成: SqlSessionFactoryBuilder SqlSessionFactory SqlSession SqlM ...

  6. python微信公众号开发学习记录

    网上有很多微信公众号的开发教程,但是都是好几年前的了,而且很多都是抄袭其他人的,内容几乎一模一样.真的无语了.只好自己总结一下开发的一些简单流程. 一先去注册个微信公众号,这个就不详细说了, 二登录后 ...

  7. Xposed模块开发学习记录

    Xposed模块相关API可以参考在线文档: https://api.xposed.info/reference/packages.html     入门教程可以参考: https://github. ...

  8. 寒假安卓app开发学习记录(7)

    今天学习了Intent的基本用法.Intent是什么?Intent在Android中的核心作用就是“跳转”(Android中的跳转机制),同时可以携带必要的信息,将Intent作为一个信息桥梁.最常用 ...

  9. 寒假安卓app开发学习记录(5)

    第一个项目运行成功! 今天主要是看视频 ,学习Android项目的目录结构.大概学习了一个小时左右.然后在网上学习和对比eclipse上的目录,了解每个目录的功能是什么. 了解了Android项目的目 ...

随机推荐

  1. 前端MVC Vue2学习总结(三)——模板语法、过滤器、计算属性、观察者、Class 与 Style 绑定

    Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML 解 ...

  2. 晒下我在2017年所阅读的JavaScript书单

    前言 学习是一个持续不断的过程,在互联网技术里畅游的程序猿们,对学习的渴望更是难以穷尽.2017即将逝去,2018已经漏出曙光,回顾这一年,在学习的路上收获还是颇丰的,下面就晒一晒2017年我所学习的 ...

  3. 使用angularjs实现注册表单

    本文是在学习angularjs过程中做的相应的练习 github地址 https://github.com/2016Messi/angularjs1.6-form 演示地址 https://2016m ...

  4. JavaScript基础2——关于变量

    变量的声明                            变量的定义:使用var关键字来声明,区分大小写的.注意:不用var,会污染全局变量.        变量的命名规范是:字母,数字,$符 ...

  5. 人工智能技术实践篇:espeak开发环境调试

    一.前言 1.espeak版本: espeak-1.48.04-source 2.开发环境:VC+2015 二.正文 2.1 错误提示 LNK1104: cannot open file 'LIBC. ...

  6. vue+express之前后台分离博客

    说来惭愧,这么久没有更新过博客了,写个项目练练手吧,打算写一个vue+express的博客  可能这个时间说长不长说短不短  写到哪就是哪吧  我采用的是前后台分离  express采用的是mvc,但 ...

  7. [置顶] Xamarin android 调用Web Api(ListView使用远程数据)

    xamarin android如何调用sqlserver 数据库呢(或者其他的),很多新手都会有这个疑问.xamarin android调用远程数据主要有两种方式: 在Android中保存数据或调用数 ...

  8. python爬去电影天堂恐怖片+游戏

    1.爬去方式python+selenium 2.工作流程 selenium自动输入,自动爬取,建立文件夹,存入磁力链接到记事本 3.贴上代码 #!/usr/bin/Python# -*- coding ...

  9. Oracle数据库中插入日期型数据(to_date的用法)(转载)

    往Oracle数据库中插入日期型数据(to_date的用法) INSERT  INTO  FLOOR  VALUES  ( to_date ( '2007-12-20 18:31:34' , 'YYY ...

  10. c#的关键字

    abstract as base bool break byte case catch char checked decimal default delegate continue double do ...