zoukankan      html  css  js  c++  java
  • Docker入坑指南之RUN

    总有一些场景,我们需要自己制作一个镜像,可以快速还原环境,又不想被其他因素干扰镜像的纯净,这个时候,就可以选择Docker了,启动便捷,镜像还原很快捷,除了上手不容易。

    最近入坑研究了一番,小有心得,故写一篇杂文,记录自己的踩坑经历。

    安装Docker的过程可以参考其他前辈的文章,不再赘述,从实战角度说,如何构建一个自用的Docker镜像。

    首选说一下Docker的几个名词,仓库是管理镜像的,容器是镜像启动后的,镜像就是最干净的环境,镜像启动之后变成容器。

    docker的run是启动镜像的介质,启动之后的镜像,可以跟各种参数,比如加载镜像内进程,常见比如 windows镜像的cmd或linux镜像的/bin/bash

    这个时候就可以使用docker attach 容器ID(或者容器名)

    docker run之后,会生成一长串的看上去像hash字符串的东西,多是长的字符串,可以直接把那个当容器ID使用,也可以docker ps -a获取短容器ID,如果启动的参数有--name的话,也可以用容器别名

    示例如下

    docker run -itd --name linux linux /bin/bash

    这个参数解析如下

    docker -itd --name linux(容器别名) linux(镜像名) /bin/bash(附加参数)

    参数-d是后台运行容器,并返回容器ID

    参数-i是以交互模式运行容器,通常与 -t 同时使用

    参数-t是为容器重新分配一个伪输入终端,通常与 -i 同时使用

    因为容器经常是需要对外服务给其他容器使用,或者隐射出来使用,所以还有几种网络相关参数

    参数-p是端口映射,格式为:主机(宿主)端口:容器端口

    参数--link添加链接到另一个容器,经常会配合-h,容器内通过别名互访,也可以和--name的别名访问

    参数--expose=开放一个端口或一组端口

    启动的参数可以跟上tag标志

    比如有两个镜像 mysql:laster mysql:5.7

    默认启动mysql是mysql:laster,如果我们要启动5.7的就

    docker run -itd mysql mysql:5.7 /bin/bash
  • 相关阅读:
    Asp.net 连接池使用
    关于ASP.NET页面打印技术的总结
    Asp.net页面传值总结
    C#委托
    ASP.NET状态存储管理九大兵器
    JavaScript取ASP.NET中服务器端数据的方法
    DSOFramer.ocx 控件使用
    C#2.0 泛型学习(入门)
    黑马程序员——Java基础String与StringBuilder
    黑马程序员——Java基础语法关键字、常量、变量、运算符
  • 原文地址:https://www.cnblogs.com/NCoreCoder/p/9938545.html
Copyright © 2011-2022 走看看