博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习Docker镜像与容器管理一篇就够了!!!
阅读量:2026 次
发布时间:2019-04-28

本文共 5755 字,大约阅读时间需要 19 分钟。

文章目录

一:docker的镜像操作

1:搜索镜像

格式:docker search 服务名[root@server1 ~]# docker search nginxname表示镜像名字DESCRIPTION 表示该镜像的功能STARS表示下载热度

在这里插入图片描述

2:下载镜像

docker commit [选项] 容器ID/名称 仓库名称:[标签]-m 说明信息-a 作者信息-p 生成过程中停止容器的运行
[root@server1 ~]# docker pull centos:77: Pulling from library/centos2d473b07cdd5: Pull complete Digest: sha256:0f4ec88e21daf75124b8a9e5ca03c37a5e937e0e108a255d890492430789b60eStatus: Downloaded newer image for centos:7docker.io/library/centos:7

3:查看已下载的镜像

[root@server1 ~]# docker imagesREPOSITORY:表示镜像的仓库源TAG:镜像的标签IMAGE ID:镜像ID号SIZE 镜像大小

在这里插入图片描述

4:获取镜像的详细信息

格式:docker inspect 镜像ID号           docker inspect 名字[root@server1 ~]# docker inspect 8326be82abe6

在这里插入图片描述

5:添加镜像标签

[root@server1 ~]# docker tag nginx:latest nginx:web

在这里插入图片描述

6:删除镜像

格式:docker rmi 仓库名:TAG标签[root@server1 ~]# docker rmi nginx:latest
#在设置别名的情况下删除id号是不行的[root@server1 ~]# docker rmi  bc9a0695f571 Error response from daemon: conflict: unable to delete bc9a0695f571 (must be forced) - image is referenced in multiple repositories

在这里插入图片描述

7:导出镜像

格式:docker save -o 文件名 镜像名[root@server1 bak]# docker save -o nginx nginx:latest

在这里插入图片描述

8:载入镜像

[root@server1 bak]# docker load < ngin

在这里插入图片描述

9:上传镜像到公有仓库(必须要有docker官方账号,且创建公有仓库

//登录docker loginUsername: dockerpassword:Emall: xxx@xxx. com    #输入账号、密码//上传docker push 镜像名:标签名(一般公司使用私有仓库)

二:容器的操做

1:创建容器(创建前必须有该镜像)

格式:docker create -it 镜像名 运行程序[root@localhost abc]# docker create -it nginx:latest /bin/bash-i  指容器的标准输入保持打开-t  指Docker分配一个伪终端
[root@server1 bak]# docker create -it nginx:latest /bin/bash5f34cac6900f04caad155ef332101ce1ca7ef21e1e5f85fd825b3faf8058ad43

2:查看容器运行状态

状态 作用
created 已创建
restarting 重启中
running 运行中
removing 迁移中
paused 暂停
exited 停止
dead 死亡
[root@server1 bak]# docker ps -aCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               5f34cac6900f        nginx:latest        "/docker-entrypoint.…"   26 seconds ago      Created
[root@server1 ~]# docker ps -aCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES5f34cac6900f        nginx:latest        "/docker-entrypoint.…"   7 minutes ago       Created                                 admiring_brown

3:开启容器,关闭容器

格式:docker start 容器ID号[root@server1 ~]# docker start af255575064f格式:docker stop 容器ID号[root@server1 ~]# docker stop af255575064f
[root@server1 ~]# docker ps -aCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES5f34cac6900f        nginx:latest        "/docker-entrypoint.…"   7 minutes ago       Created                                 admiring_brown[root@server1 ~]# docker start 5f34cac6900f5f34cac6900f[root@server1 ~]# docker ps -aCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES5f34cac6900f        nginx:latest        "/docker-entrypoint.…"   11 minutes ago      Up 5 seconds        80/tcp              admiring_brown

4:docker run命令

命令格式:docker run 镜像名 /bin/bash -c ls /[root@server1 bak]# docker run mysql /bin/bash -c ls /注释: /bin/bash指定运行环境,-c指定执行命令

docker run命令会执行创建容器,开启容器,执行命令,关闭容器等一系列过程。如果没有创建容器和镜像,就会从下载镜像开始执行,一直到关闭容器。执行完成后直接关闭,状态为exited

5:进入容器与退出容器

Docker中系统镜像的缺省命令是 bash,如果不加 -ti bash 命令执行了自动会退出。这是因为如果没有衔接输入流,本身就会马上结束。加-ti 后docker命令会为容器分配一个伪终端,并接管其stdin/stdout支持交互操作,这时候bash命令不会自动退出。

格式:docker exec -it 容器ID /bin/bash[root@server1 abc]# docker exec -it af255575064f /bin/bash
[root@server1 ~]# docker exec -it 2b9b439bf782 /bin/bash[root@2b9b439bf782 /]# lsanaconda-post.log  bin  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

6:导出、导入容器

  • 导出
导出容器格式为:docker export 容器ID > 定义容器名[root@server1 abc]# docker export b1e1844148e8 > centos
[root@server1 ~]# lsanaconda-ks.cfg  bak  centos  initial-setup-ks.cfg  nginx  公共  模板  视频  图片  文档  下载  音乐  桌面
  • 导入
格式:cat 容器名 | docker import - 镜像:标签
[root@server1 ~]# cat centos | docker import - centos:websha256:c923c1f5a07228c01e31ab030450c0e3556f27ea9c8511caab35e309c4328f2d[root@server1 ~]# docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZEcentos              web                 c923c1f5a072        4 seconds ago       204MBnginx               latest              bc9a0695f571        10 hours ago        133MBtomcat              latest              e0bd8b34b4ea        6 days ago          649MBcentos              7                   8652b9f0cb4c        11 days ago         204MB

7:删除容器

容器必须是exited 关闭状态,才能删除

[root@server1 ~]# docker ps -aCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                            PORTS               NAMES5f34cac6900f        nginx:latest        "/docker-entrypoint.…"   2 hours ago         Exited (137) About a minute ago                       admiring_brown[root@server1 ~]# docker rm 5f34cac6900f5f34cac6900f[root@server1 ~]# docker ps -aCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS

8:批量停止容器

docker stop `docker ps -aq`

9:批量删除容器

第一种:[root@server1 ~]# dcoker rm `docker ps -aq` 第二种:[root@server1 ~]# docker ps -a | awk '{print "docker rm"$1}' | bash    不能删除up状态的容器

在这里插入图片描述

三:Docker 常用命令解释

命令 作用
-a 显示所有的容器,包括未运行的。
-f 根据条件过滤显示的内容。
–format 指定返回值的模板文件。
-l 显示最近创建的容器。
-n 列出最近创建的n个容器。
–no-trunc 不截断输出。
-q 静默模式,只显示容器编号。
-s 显示总的文件大小。

管理操作

作用 命令
搜索镜像 docker search 镜像
下载镜像 docker pull 镜像
创建容器 docker create -it nginx /bin/bash
运行 docker start 容器ID
一条龙运行 docker run -itd nginx /bin/bash
进入容器 docker exec -it 容器ID bash
停止容器 docker stop 容器ID
删除容器 docker rm 容器ID
删除镜像 docker rmi 镜像名称

辅助操作

作用 命令
查看镜像 docker images
查看容器 docker ps -a
镜像导出 docker save -o 保存位置 镜像名称
镜像导入 docker load < 文件位置
容器导入和导出 docker export 容器ID > 文件位置
cat 文件位置 docker import - 镜像名称

转载地址:http://pfdaf.baihongyu.com/

你可能感兴趣的文章
架构师的能力模型(图)
查看>>
能力要成体系
查看>>
Qomo 2.0 beta1 发布说明及新功能
查看>>
英语突击队里程碑
查看>>
软工视频总结
查看>>
Map/reduce
查看>>
mysql 存储过程,临时表,游标
查看>>
Ehcache配置分布式缓存
查看>>
js 对象json用法举例
查看>>
crontab执行不了php的解决方法
查看>>
mongodb 对内存的严重占用以及解决方法
查看>>
tensorflow的Virtualenv安装方式安装
查看>>
Chrome.storage和HTML5中localStorage的差异
查看>>
Solr ShingleFilter
查看>>
Linux中yum、rpm、configure使用介绍
查看>>
LeetCode003.Longest Substring Without Repeating Characters
查看>>
LeetCode019. Remove Nth Node From End of List
查看>>
LeetCode166. Fraction to Recurring Decimal(思路及python解法)
查看>>
iOS组件化开发一远端私有库建立(二)
查看>>
Varnish4.x配置文件详解
查看>>