翻译自官方Quick Start: https://hub.docker.com/?overlay=onboarding

以Windows为例

1、下载源码

下载构建第一个容器的所需要的所有的东西

需要先安装git

git clone https://github.com/docker/doodle.git

2、创建镜像

Docker的镜像是一个专用的文件系统,仅用于容器。它提供容器所需的所有的文件和代码。

运行 docker build 命令将根据Dockerfile创建一个Docker镜像。这个构建的镜像位于你本地的镜像仓库。

cd doodle\cheers2019
docker build -t rognn/cheers2019 .

如果报错 "docker build" requires exactly 1 argument(s)."

原因:少打了末尾一点。‘·’代表当前目录,因为需用用当前目录下的Dockerfile下。

3、运行容器

运行容器启动启动这个软件,并于计算机的其他部分安全地分离。

docker run -it --rm rognn/cheers2019
  • -it:这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。我们这里打算按"Esc",因此我们需要交互式终端。
  • --rm:这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动 docker rm。我们这里只是随便执行个命令,看看结果,不需要排障和保留结果,因此使用 --rm 可以避免浪费空间

4、上传

分享你地镜像到Docker Hub

docker login
docker push rognn/cheers2019

其他的命令:

docker相关:

  • 显示Docker版本和信息 docker --version
  • 登录Docker docker login   #此凭据保存在 .docker/config.json中

镜像相关:

  • 搜索镜像  docker search java
  • 下载镜像 docker pull java:8
  • 列出所有镜像 docker images 或  docker image ls
  • 删除镜像
    docker image rm 501  #ID的前3位数
    docker image rm ubuntu
    docker image rm node@sha256:b4f0e0bdeb578043c1ea6862f0d40cc4afe32a4a582f3be235a3b164422be228  #digest

容器相关:

  • 运行 docker run hello-world
  • 查看正在运行的镜像 docker ps
  • 列出所有docker容器 (running, all, all in quiet mode)
    docker container ls
    docker container ls --all
    docker container ls -aq
  • 停止容器 docker container stop webserver 或 docker stop cdfafe3efd6e
  • 强制停止容器 docker kill cdfafe3efd6e
  • 启动已停止的容器 docker start cdfafe3efd6e
  • 删除容器 docker rm cdfafe3efd6e

参考链接:

1. https://blog.csdn.net/aboutmn/article/details/87913062

2. https://hub.docker.com/?overlay=onboarding

3. https://www.jianshu.com/p/b21c508514ae

4. https://yeasy.gitbooks.io/docker_practice/image/rm.html

Docker Quick Start的更多相关文章

  1. Apache PredictionIO在Docker上的搭建及使用

    1.Apache PredictionIO介绍 Apache PredictionIO 是一个孵化中的机器学习服务器,它可以为为开发人员和数据科学家创建任何机器学习任务的预测引擎.官方原文: Apac ...

  2. windows7上使用docker容器

    1.安装 下载DockerToolbox,并安装. 下载地址:https://dn-dao-github-irror.daocloud.io/docker/toolbox/releases/downl ...

  3. Docker安装和上传容器

    安装Docker Requirements for Mac(硬件要求): Mac的硬件必须是2010或者更新的,需要支持memory management unit(MMU) virtualizait ...

  4. docker安装之后的配置各种坑

    1.docker官网下载安装之后 2.点击 Docker quick start快捷方式 错误提示: windows正在查找bash.exe,也可以手动查找,但是一直找不到. 3.执行 docker- ...

  5. Docker 官网信息

    Docker Engine Docker-for-linuxhttps://docs.docker.com/engine/installation/linux/rhel/https://docs.do ...

  6. 为docker配置固定ip

    docker默认使用bridge模式,通过网桥连接到宿主机,而容器内部的ip则从网桥所在的ip段取未用的ip.这样做一个不方便的地方在于容器内部的ip不是固定的,想要连接容器时只能通过映射到宿主机的端 ...

  7. Docker distrubution in django

    https://www.syncano.io/blog/configuring-running-django-celery-docker-containers-pt-1/ Update: Fig ha ...

  8. Docker configure http proxy

    from: http://stackoverflow.com/questions/23111631/cannot-download-docker-images-behind-a-proxy That' ...

  9. Self-Paced Training (3) - Docker Operations

    AgendaTroubleshooting ContainersOverview of Security PracticesPrivate RegistryIntro to Docker Machin ...

随机推荐

  1. AntDesign vue学习笔记(五)导航菜单动态加载

    一般的后台系统都有一个树形导航菜单,具体实现如下,主要参考https://my.oschina.net/u/4131669/blog/3048416 "menuList": [ { ...

  2. 第七节:Asp.Net Core内置日志和整合NLog(未完)

    一. Asp.Net Core内置日志 1. 默认支持三种输出方式:控制台.调试(底部输出窗口).EventSource,当然也可以在Program类中通过logging.ClearProviders ...

  3. STL源码剖析——序列式容器#5 heap

    准确来讲,heap并不属于STL容器,但它是其中一个容器priority queue必不可少的一部分.顾名思义,priority queue就是优先级队列,允许用户以任何次序将任何元素加入容器内,但取 ...

  4. day61——多表操作(增、删除、改、基于对象的跨表查询)

    day61 增删改查 增加 # 增加 # 一对一 # au_obj = models.AuthorDetail.objects.get(id=4) models.Author.objects.crea ...

  5. VS 安装resharper 后 无法进行UnitTest

    Vs安装 Resharper后,无法进行单元测试,发现报错提示信息如下: ignored test-case is missing. rebuild the project and try again ...

  6. C# 从注册表判断指定ocx控件是否已注册 以及获取它的注册路径

    /// <summary> /// 注册控件 /// </summary> /// <returns></returns> public bool Re ...

  7. 米尔科技MPSoC开发板评测

    米尔科技推出的MYD-CZU3EG开发板搭载的就是UltraScale+ MPSoC平台器件 — XCZU3EG,它集成了四核Cortex-A53 处理器,双核 Cortex-R5 实时处理单元以及M ...

  8. Java集合学习(4):HashTable

    一.概述 和HashMap一样,Hashtable也是一个散列表,它存储的内容是键值对. Hashtable在Java中的定义为: public class Hashtable<K,V> ...

  9. 关于logging模块

    from logging.handlers import TimedRotatingFileHandle #日志文件控制(日志删除时间设置) import logging logger=logging ...

  10. 宝塔面板1G内存安装mysql5.7提示“至少需要XX兆内存”的解决办法

    打开文件:/www/server/panel/class/panelPlugin.py 搜索关键词:“至少” (可能在134行) 然后把这行if语句注释掉,如下图: