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
  • 相关阅读:
    Spyder的汉化
    Python,Pycharm,Anaconda等的关系与安装过程~为初学者跳过各种坑
    好了,我的第一篇博客!
    Xcode 最低要求和支持的 SDK
    python连接hive (安装impyla)的采坑之旅
    java泛型(泛型接口、泛型类、泛型方法)
    oracle命令查看表结构及表索引
    Linux环境下安装、配置Nginx1.14.2(CentOS Linux release 7.6.1810)
    Caffe入门随笔
    Gradient Boosting算法简介
  • 原文地址:https://www.cnblogs.com/NCoreCoder/p/9938545.html
Copyright © 2011-2022 走看看