docker基础:镜像,容器命令(三)

一、镜像命令
在docker基础:命令详解(二)中已经介绍了如何登录dockerhub及私服,下面进行镜像的命令的学习。
1、镜像
先说一下镜像和容器的关系,镜像类似于一个母板,在公网中进行拉取创建。容器相当于母板复制出来的产品,每个产品有不同的编号,端口号等。也就是说现有镜像,再有容器。有人会问了,没有镜像,容器就不能运行吗?不是的。当创建一个容器时,如果没有镜像,那么就会根据你给的路径自动去下载镜像,然后生成容器,默认是从共网上下载。

2、拉取镜像:docker pull 镜像名
      拉取镜像之前,先要明确自己需要什么镜像,知道镜像有哪些版本,我需要两个镜像,tomcat和mysql。
      可以看到有很多镜像,我在这里只是用官网镜像
Paste_Image.png
Paste_Image.png
 拉取tomcat镜像:docker pull tomcat
Paste_Image.png
  拉取mysql镜像:docker pull mysql
Paste_Image.png
3、查看镜像:docker images 
          能看到我已经下载了两个镜像。
Paste_Image.png
4、修改镜像tag:docker tag 镜像名/镜像ID  自定义镜像名:自定义tag名
      docker tag tomcat tomcat-test:tomcat7  创建出一个新的tomcat镜像  tag是自定义的
Paste_Image.png
       上面的图片中,大家可能注意到了,有两个id相同的镜像,这样就有问题了,删除的时候怎么处理?
5、删除镜像:docker rmi 镜像ID/镜像名:tag名
              -f 强制删除,即使镜像被占用。
              删除多个镜像:docker rmi A B C
Paste_Image.png
6、构建镜像:暂时不做。

7、构建镜像方式2:dockerfile文件构建。
      
8、查看指定镜像的历史信息:docker history 镜像id
9、将镜像推送到远程仓库,默认是dockerhub:docker push 镜像id
10、docker image 的命令:
        build Build an image from a Dockerfile
        构建    构建一个镜像从一个dockerfile
         history Show the history of an image
        历史    显示镜像的历史。
        import Import the contents from a tarball to create a filesystem image
        导入   过压缩包制作镜像
        inspect Display detailed information on one or more images
        检查   显示一个或多个镜像的详细信息。
        load Load an image from a tar archive or STDIN
        加载   将一个镜像save成压缩包后,在用load命令加载成一个镜像
        例如:docker load -i/<  /存放镜像的路径/镜像.tar
        ls List images
        ls    列出镜像
        prune Remove unused images
        删除   删除未使用的镜像
        pull Pull an image or a repository from a registry
        从注册表中拉出镜像或存储库。
        push Push an image or a repository to a registry
        将镜像或存储库推入注册表
        rm Remove one or more images
        删除 一个或多个图像
        save Save one or more images to a tar archive (streamed to STDOUT by default)
        保存一个或多个图像到一个tar归档文件(流到stdout默认),可以指定到某个文件下
        例如:docker save 镜像名:tag -o /需要存放镜像的路径/定义一个名字.tar  
        tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
        标签创建一个标签target_image指source_image

二、容器命令
1、查看容器的命令: docker ps -a
-a, --all Show all containers (default shows just running)
- -所有显示所有容器(默认显示刚刚运行)
-f, --filter filter Filter output based on conditions provided
基于滤波器提供的滤波器滤波器输出条件
--format string Pretty-print containers using a Go template
使用滚动模板格式化字符串漂亮的打印容器
--help Print usage
——帮助打印使用
-n, --last int Show n last created containers (includes all states) (default -1)
-最后一个int显示上次创建的容器(包括所有状态)(默认值1)
-l, --latest Show the latest created container (includes all states)
最新显示的最新创建的容器(包括所有国家)
--no-trunc Don't truncate output
——NO TRUNC不截断输出
-q, --quiet Only display numeric IDs
只显示容器ID
-s, --size Display total file sizes
大小 显示总文件大小
2、最新创建的容器(最后启动的):-l
只查看容器的id:-q
显示容器的大小:-s
3、删除容器:docker rm 容器id/容器名
批量删除:docker rm 容器id/容器名 容器id/容器名 容器id/容器名
4、启动已经创建的容器:docker start 容器id/容器名
5、重新启动容器:docker restart 容器id/容器名
6、停止容器:docker stop 容器id/容器名
7、后台创建容器: docker run --name (自定义容器名) -d -p (访问端口:映射端口) 镜像id
例:创建一个mysql的容器,用户名root,密码是root
docker run --name mysql -d -p 53306:3306 -e MYSQL_ROOT_PASSWORD=root
8、可操作容器创建:docker run --name (自定义容器名) -it -p (访问端口:映射端口) 镜像id //bin/bash
9、容器与容器之间的连接:--link 连接的容器:容器,例如:--link tomcat:mysql ,这样tomcat就能访问mysql了。

  遇到的问题:
    [root@master ~]# docker run --name registry_server -d -p 5000:5000 
     WARNING: IPv4 forwarding is disabled. Networking will not work.
   解决方案:
      # vi /etc/sysctl.conf
      添加如下代码:
          net.ipv4.ip_forward=1

      重启network服务
      # systemctl restart network

      查看是否修改成功
      # sysctl net.ipv4.ip_forward
      如果返回为“net.ipv4.ip_forward = 1”则表示成功了

10、容器创建之后,再次进入容器:docker  container attach 容器id(有些镜像进不去,回车后没有反映说明该容器不能进入ctrl+c强制退出后容器会停止运行)(现在已经不建议是用了)
11、操作容器,不进入:docker  container exec 容器id 操作命令(ls,等)
12、停止一个或多个指定容器进程:docker kill 镜像id/名称或容器id\名称
13、暂停某个容器的所有进程:docker pause 容器id/名称
14、恢复某个容器的所有进程:docker unpause 容器id/名称
15、查看容器详情:docker container inspect 容器id
16、docker container 命令使用:
    attach Attach to a running container
    附加到正在运行的容器上
    commit Create a new image from a container's changes
    从容器的更改中创建一个新映像
    cp Copy files/folders between a container and the local filesystem
    在容器和本地文件系统之间复制文件/文件夹
    create Create a new container
    创建一个新容器
    diff Inspect changes to files or directories on a container's filesystem
    差异检查容器文件系统中文件或目录的更改。
    exec Run a command in a running container
    在运行的容器中运行命令
    export Export a container's filesystem as a tar archive
    导出导出一个容器的文件系统作为一个TAR归档文件
    inspect Display detailed information on one or more containers
    检查在一个或多个容器上显示详细信息。
    kill Kill one or more running containers
    杀死一个或多个正在运行的容器
    logs Fetch the logs of a container
    日志获取容器的日志
    ls List containers
    ls列出的容器
    pause Pause all processes within one or more containers
    在一个或多个容器中暂停所有进程
    port List port mappings or a specific mapping for the container
    端口列表端口映射或容器的特定映射
    prune Remove all stopped containers
     删除所有停止的容器
    rename Rename a container
    重命名容器
    restart Restart one or more containers
    重新启动一个或多个容器
    rm Remove one or more containers
    删除一个或多个容器
    run Run a command in a new container
    在新容器中运行命令
    start Start one or more stopped containers
    启动一个或多个已停止的容器
    stats Display a live stream of container(s) resource usage statistics
    统计信息显示一个动态的容器资源使用统计数据流。
    stop Stop one or more running containers
    停止一个或多个正在运行的容器
    top Display the running processes of a container
    顶部显示容器的运行过程。
    unpause Unpause all processes within one or more containers
    取消暂停取消暂停所有过程的一个或多个容器内
    update Update configuration of one or more containers
    更新一个或多个容器的配置
    wait Block until one or more containers stop, then print their exit codes
    等待块直到一个或多个容器停止,然后打印出它们的出口代码。

如果遇到命令不好用,建议去查相应的--help命令

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,904评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,581评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,527评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,463评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,546评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,572评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,582评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,330评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,776评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,087评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,257评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,923评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,571评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,192评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,436评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,145评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容

  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 10,494评论 0 120
  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,523评论 15 147
  • 一、Docker 简介 Docker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用...
    R_X阅读 4,383评论 0 27
  • 以下原文转载于(https://docs.docker.com/docker-for-mac/)(想找中文版的最新...
    Veekend阅读 7,556评论 0 17
  • 像一颗有棱角的小石子 被时间推着赶着朝前走 只是随着世人潮流 没有人告诉对与错 懵懵懂懂跌跌撞撞中 一心想磨去棱角...
    惊岁阅读 422评论 0 2