docker入门操作整理 - sea的博客

sea520 2021-08-05 原文


docker入门操作整理


docker入门操作整理

常用命令:

docker search xxx

docker pull xxx

docker run xxx     ping  xxxx     (docker run d p 5000:5000 training/webapp python app.py)

docker ps [-a] [-l]

docker  commit   id xxx

docker  inspect   id

docker  start/stop

docker  images

docker  [command]  –help 

 

 

 

 

搜索可用docker镜像

搜索可用的docker镜像

使用docker最简单的方式莫过于从现有的容器镜像开始。Docker官方网站专门有一个页面来存储所有可用的镜像,网址是: index.docker.io。你可以通过浏览这个网页来查找你想要使用的镜像,或者使用命令行的工具来检索。

目标:

学会使用命令行的工具来检索名字叫做tutorial的镜像。

提示:

命令行的格式为:docker search 镜像名字

正确的命令:

$ docker search tutorial

 

 

 

下载容器镜像

学会使用docker命令来下载镜像

下载镜像的命令非常简单,使用docker pull命令即可。(译者按:docker命令和git有一些类似的地方)。在docker的镜像索引网站上面,镜像都是按照 用户名/ 镜像名的方式来存储的。有一组比较特殊的镜像,比如ubuntu这类基础镜像,经过官方的验证,值得信任,可以直接用 镜像名来检索到。

目标:

通过docker命令下载tutorial镜像。

提示:

执行pull命令的时候要写完整的名字,比如”learn/tutorial”。

正确的命令:

$ docker pull learn/tutorial

 

 

在docker容器中运行hello world!

在docker容器中运行hello world!

docker容器可以理解为在沙盒中运行的进程。这个沙盒包含了该进程运行所必须的资源,包括文件系统、系统类库、shell 环境等等。但这个沙盒默认是不会运行任何程序的。你需要在沙盒中运行一个进程来启动某一个容器。这个进程是该容器的唯一进程,所以当该进程结束的时候,容器也会完全的停止。

目标:

在我们刚刚下载的镜像中输出”hello word”。为了达到这个目的,我们需要在这个容器中运行”echo”命令,输出”hello word”。

提示:

docker run命令有两个参数,一个是镜像名,一个是要在镜像中运行的命令。

正确的命令:

$ docker run learn/tutorial echo “hello word”

 

 

在容器中安装新的程序

 

在容器中安装新的程序

下一步我们要做的事情是在容器里面安装一个简单的程序(ping)。我们之前下载的tutorial镜像是基于ubuntu的,所以你可以使用ubuntu的apt-get命令来安装ping程序: apt-get install -y ping。

备注:apt-get 命令执行完毕之后,容器就会停止,但对容器的改动不会丢失。

目标:

在learn/tutorial镜像里面安装ping程序。

提示:

在执行apt-get 命令的时候,要带上-y参数。如果不指定-y参数的话,apt-get命令会进入交互模式,需要用户输入命令来进行确认,但在docker环境中是无法响应这种交互的。

正确的命令:

$docker run learn/tutorial apt-get install -y ping

 

保存对容器的修改

 

保存对容器的修改

当你对某一个容器做了修改之后(通过在容器中运行某一个命令),可以把对容器的修改保存下来,这样下次可以从保存后的最新状态运行该容器。docker中保存状态的过程称之为committing,它保存的新旧状态之间的区别,从而产生一个新的版本。

目标:

首先使用 docker ps -l命令获得安装完ping命令之后容器的id。然后把这个镜像保存为learn/ping。

提示:

1. 运行docker commit,可以查看该命令的参数列表。

2. 你需要指定要提交保存容器的ID。(译者按:通过docker ps -l 命令获得)

3. 无需拷贝完整的id,通常来讲最开始的三至四个字母即可区分。(译者按:非常类似git里面的版本号)

正确的命令:

$ docker commit 698 learn/ping

 

执行完docker commit命令之后,会返回新版本镜像的id号。

 

 

运行新的镜像

 

运行新的镜像

ok,到现在为止,你已经建立了一个完整的、自成体系的docker环境,并且安装了ping命令在里面。它可以在任何支持docker环境的系统中运行啦!(译者按:是不是很神奇呢?)让我们来体验一下吧!

目标:

在新的镜像中运行ping www.google.com命令。

提示:

一定要使用新的镜像名 learn/ping来运行ping命令。(译者按:最开始下载的learn/tutorial镜像中是没有ping命令的)

正确的命令:

$ docker run lean/ping ping www.google.com

 

 

检查运行中的镜像

 

检查运行中的镜像

现在你已经运行了一个docker容器,让我们来看下正在运行的容器。

使用 docker ps命令可以查看所有正在运行中的容器列表,使用 docker inspect命令我们可以查看更详细的关于某一个容器的信息。

目标:

查找某一个运行中容器的id,然后使用docker inspect命令查看容器的信息。

提示:

可以使用镜像id的前面部分,不需要完整的id。

正确的命令:

$ docker inspect efe

 

 

发布自己的镜像

先在https://hub.docker.com/注册个账号,然后再linux端docker login,打tag,再然后docker push上去

 

 

发布docker镜像

现在我们已经验证了新镜像可以正常工作,下一步我们可以将其发布到官方的索引网站。还记得我们最开始下载的learn/tutorial镜像吧,我们也可以把我们自己编译的镜像发布到索引页面,一方面可以自己重用,另一方面也可以分享给其他人使用。

目标:

把learn/ping镜像发布到docker的index网站。

提示:

1. docker images命令可以列出所有安装过的镜像。

2. docker push命令可以将某一个镜像发布到官方网站。

3. 你只能将镜像发布到自己的空间下面。这个模拟器登录的是learn帐号。

预期的命令:

$ docker push learn/ping

 

发表于
2019-08-16 11:49 
sea的博客 
阅读(154
评论(0
编辑 
收藏 
举报

 

版权声明:本文为sea520原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/sea520/p/11362977.html

docker入门操作整理 - sea的博客的更多相关文章

  1. npm 使用淘宝镜像 – 晓丸子的Summer

    npm 使用淘宝镜像 一、通过使用cnpm安装 1. 安装cnpm npm install -g cnpm - […]...

  2. 『动善时』JMeter基础 — 54、JMeter聚合报告详解

    目录 1、聚合报告介绍 2、聚合报告界面详解 3、聚合报告中信息点说明 (1)百分位数的说明 (2)吞吐量说明 […]...

  3. 模型训练可视化工具-visdom – Sanny.Liu-CV&&ML

    模型训练可视化工具-visdom visdom,可视化工具,PyTorch 转载:https://blog.c […]...

  4. ExeclUtil 工具类(poi + jxl)

    jxl 包: poi 包:     使用:List<List<List<String> […]...

  5. 计算生存曲线四分位数以及中位数的置信区间 – 会开花的小花花

    计算生存曲线四分位数以及中位数的置信区间 计算生存曲线四分位数以及中位数的置信区间 计算生存曲线四分位数以及中 […]...

  6. 跟着弦哥学人工智能2—什么是人工智能 – 传说中的弦哥

    跟着弦哥学人工智能2—什么是人工智能 《跟着弦哥学人工智能-序》发了之后,大部分群众表示喜大普奔,在这里对大家 […]...

  7. UML建模之活动图介绍(Activity Diagram) – uml

    UML建模之活动图介绍(Activity Diagram) 2010-03-23 01:17  uml  阅读 […]...

  8. IntelliJ IDEA 如何引入本地 jar 包 – 猎手家园

    IntelliJ IDEA 如何引入本地 jar 包 2020-08-12 21:24  猎手家园  阅读(3 […]...

随机推荐

  1. WinRAR的命令行模式用法介绍 – Fetty

    WinRAR的命令行模式用法介绍 因工作中要对数据打包,顺便研究了下WinRAR的命令行模式,自己写了些例子, […]...

  2. 使用Thrift让Python和C#可以相互调用

    在聊如何使用Thrift让Python和C#可以互相调用之前,我们先来看看下面的话题。 一、什么是微服务、微服 […]...

  3. React 10分钟快速入门

    React、VueJS、AngularJS 一、简介: React 是一个用于构建用户界面的 JAVASCRI […]...

  4. Python进阶技巧汇总01

    总结自原创: Leoxin 菜鸟学Python 原文地址:强烈推荐|麻烦刚关注2699名小伙伴一定要看,信息量 […]...

  5. 从零搭建Spring Cloud Gateway网关(三)——报文结构转换

    背景 作为网关,有些时候可能报文的结构并不符合前端或者某些服务的需求,或者因为某些原因,其他服务修改报文结构特 […]...

  6. 惠普R720 服务器安装虚拟化环境

    本周出差到别的地方部署了公司的产品,在进行服务器虚拟化时遇到了很大的问题。 使用u盘制作启动盘。 本来是想使用 […]...

  7. 房屋改造与架构重构-由日本全能住宅改造王介绍视频到购物APP重构

    房屋改造有种收纳置新,鸟枪换炮的爽快感,承载亲情温暖也令人欢欣鼓舞。看着看着心中有种熟悉感:房屋改造比之架构重 […]...

  8. 浅谈Git

    404...

展开目录

目录导航