目录

一、docker exec

二、停止容器

三、为docker 容器指定name

四、通过name启动容器

五、显示容器的完整信息

六、查看容器的log

七、docker  1.7.1 基本操作

7.1  恢复docker镜像

7.2 查看所有镜像

7.3 启动容器

7.4 查看容器

7.5 重启容器


一、docker exec

docker exec 在容器中执行/bin/bash

~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
6b54d60933d7        ninesun0318/flask   "python app.py"     24 hours ago        Up 24 hours         5000/tcp            gracious_hawking
[root@iZ2vceej7yes1abpm7yec2Z ~]#
[root@iZ2vceej7yes1abpm7yec2Z ~]# docker exec -it 6b54d60933d7 /bin/bash
root@6b54d60933d7:/app# ls
app.py
root@6b54d60933d7:/app# pdw
bash: pdw: command not found
root@6b54d60933d7:/app# pwd
/app

docker exec 在容器中执行python程序

~]# docker exec -it 6b54d60933d7 python
Python 3.6.12 (default, Oct 13 2020, 21:36:54)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print("hello dockker!!")
hello dockker!!

查看容器ip地址

]# docker exec -it 6b54d60933d7 ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft forever
12: eth0@if13: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0valid_lft forever preferred_lft forever

二、停止容器

[root@iZ2vceej7yes1abpm7yec2Z ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
6b54d60933d7        ninesun0318/flask   "python app.py"     24 hours ago        Up 24 hours         5000/tcp            gracious_hawking
[root@iZ2vceej7yes1abpm7yec2Z ~]# docker stop 6b5
6b5
[root@iZ2vceej7yes1abpm7yec2Z ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

三、为docker 容器指定name

 ~]# docker run -d --name=test ninesun0318/flask
bb42c845a4edfdfbf20c6661a5cec0a92a69dd72f9ffaf4094c48d2e2207f5d8
[root@iZ2vceej7yes1abpm7yec2Z ~]#
[root@iZ2vceej7yes1abpm7yec2Z ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
bb42c845a4ed        ninesun0318/flask   "python app.py"     6 seconds ago       Up 5 seconds        5000/tcp            test

四、通过name启动容器

~]# docker stop test
test
[root@iZ2vceej7yes1abpm7yec2Z ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@iZ2vceej7yes1abpm7yec2Z ~]#
[root@iZ2vceej7yes1abpm7yec2Z ~]# docker start test
test
[root@iZ2vceej7yes1abpm7yec2Z ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
bb42c845a4ed        ninesun0318/flask   "python app.py"     About a minute ago   Up 2 seconds        5000/tcp            test

五、显示容器的完整信息

原来containerid 是一个这么长的id.....

~]# docker inspect bb42c845a4ed
[{"Id": "bb42c845a4edfdfbf20c6661a5cec0a92a69dd72f9ffaf4094c48d2e2207f5d8","Created": "2020-11-10T13:49:00.495448812Z","Path": "python","Args": ["app.py"],"State": {"Status": "running","Running": true,"Paused": false,"Restarting": false,"OOMKilled": false,"Dead": false,"Pid": 6383,"ExitCode": 0,"Error": "","StartedAt": "2020-11-10T13:50:04.26459612Z","FinishedAt": "2020-11-10T13:49:54.877926435Z"},"Image": "sha256:1f7f63f7ff02b49931d72607b08612b5983d13b4881757b9e4e518f87a7e6f7f","ResolvConfPath": "/var/lib/docker/containers/bb42c845a4edfdfbf20c6661a5cec0a92a69dd72f9ffaf4094c48d2e2207f5d8/resolv.conf","HostnamePath": "/var/lib/docker/containers/bb42c845a4edfdfbf20c6661a5cec0a92a69dd72f9ffaf4094c48d2e2207f5d8/hostname","HostsPath": "/var/lib/docker/containers/bb42c845a4edfdfbf20c6661a5cec0a92a69dd72f9ffaf4094c48d2e2207f5d8/hosts","LogPath": "/var/lib/docker/containers/bb42c845a4edfdfbf20c6661a5cec0a92a69dd72f9ffaf4094c48d2e2207f5d8/bb42c845a4edfdfbf20c6661a5cec0a92a69dd72f9ffaf4094c48d2e2207f5d8-json.log","Name": "/test","RestartCount": 0,"Driver": "overlay2","Platform": "linux","MountLabel": "","ProcessLabel": "","AppArmorProfile": "","ExecIDs": null,"HostConfig": {"Binds": null,"ContainerIDFile": "","LogConfig": {"Type": "json-file","Config": {}},"NetworkMode": "default","PortBindings": {},"RestartPolicy": {"Name": "no","MaximumRetryCount": 0},"AutoRemove": false,"VolumeDriver": "","VolumesFrom": null,"CapAdd": null,"CapDrop": null,"Dns": [],"DnsOptions": [],"DnsSearch": [],"ExtraHosts": null,"GroupAdd": null,"IpcMode": "shareable","Cgroup": "","Links": null,"OomScoreAdj": 0,"PidMode": "","Privileged": false,"PublishAllPorts": false,"ReadonlyRootfs": false,"SecurityOpt": null,"UTSMode": "","UsernsMode": "","ShmSize": 67108864,"Runtime": "runc","ConsoleSize": [0,0],"Isolation": "","CpuShares": 0,"Memory": 0,"NanoCpus": 0,"CgroupParent": "","BlkioWeight": 0,"BlkioWeightDevice": [],"BlkioDeviceReadBps": null,"BlkioDeviceWriteBps": null,"BlkioDeviceReadIOps": null,"BlkioDeviceWriteIOps": null,"CpuPeriod": 0,"CpuQuota": 0,"CpuRealtimePeriod": 0,"CpuRealtimeRuntime": 0,"CpusetCpus": "","CpusetMems": "","Devices": [],"DeviceCgroupRules": null,"DiskQuota": 0,"KernelMemory": 0,"MemoryReservation": 0,"MemorySwap": 0,"MemorySwappiness": null,"OomKillDisable": false,"PidsLimit": 0,"Ulimits": null,"CpuCount": 0,"CpuPercent": 0,"IOMaximumIOps": 0,"IOMaximumBandwidth": 0},"GraphDriver": {"Data": {"LowerDir": "/var/lib/docker/overlay2/54518bbb5ecc78fb83d27843c9857c66d341646e235c8264a527d8d03bfade30-init/diff:/var/lib/docker/overlay2/ad5a55f3ad24dc090e95dce379000d2811e34cce4ba250886643488bd80f044c/diff:/var/lib/docker/overlay2/48a511ea7f64437c2b3faf64663d79d5d298d8b6f44f96bb283d9b3515dc3bcb/diff:/var/lib/docker/overlay2/060b0ad334803cd90fc43f3be04972615fdcde8aa1af896bea0f38351eef5858/diff:/var/lib/docker/overlay2/1720343e33c2f8e5c732677d6601e4aec690cd51664831d017dd9246889029eb/diff:/var/lib/docker/overlay2/f378846670249d5b48e8d5cf928e4ad932c6d601e4095018f3a41825707f005b/diff:/var/lib/docker/overlay2/552e6dc16402f5b574ae236fd2435b7fc20b389179a05338cb3aa81a4da9d6c2/diff:/var/lib/docker/overlay2/dbff053a68cb853405d6bb37a7bf759d0339accb01b63882cd471ab2b8ca1989/diff:/var/lib/docker/overlay2/422dbe265e33617ef5ae32e4f0fa8c330fed23aa9366f699a74568003cc14c85/diff:/var/lib/docker/overlay2/bf041b8d900f0f548572fcbd5a85a95ea3f1e15e4c8c3f8d0ddcbdc6adca6e42/diff:/var/lib/docker/overlay2/ddee8b127b22713c581383f32ca94352095f46372fa601cf903c7954d84610c2/diff:/var/lib/docker/overlay2/78a6a24d71d6f4ea0fa5c65e3258165552e01cfb91177f75905f514978ae836a/diff","MergedDir": "/var/lib/docker/overlay2/54518bbb5ecc78fb83d27843c9857c66d341646e235c8264a527d8d03bfade30/merged","UpperDir": "/var/lib/docker/overlay2/54518bbb5ecc78fb83d27843c9857c66d341646e235c8264a527d8d03bfade30/diff","WorkDir": "/var/lib/docker/overlay2/54518bbb5ecc78fb83d27843c9857c66d341646e235c8264a527d8d03bfade30/work"},"Name": "overlay2"},"Mounts": [],"Config": {"Hostname": "bb42c845a4ed","Domainname": "","User": "","AttachStdin": false,"AttachStdout": false,"AttachStderr": false,"ExposedPorts": {"5000/tcp": {}},"Tty": false,"OpenStdin": false,"StdinOnce": false,"Env": ["PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","LANG=C.UTF-8","GPG_KEY=0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D","PYTHON_VERSION=3.6.12","PYTHON_PIP_VERSION=20.2.4","PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/fa7dc83944936bf09a0e4cb5d5ec852c0d256599/get-pip.py","PYTHON_GET_PIP_SHA256=6e0bb0a2c2533361d7f297ed547237caf1b7507f197835974c0dd7eba998c53c"],"Cmd": ["python","app.py"],"ArgsEscaped": true,"Image": "ninesun0318/flask","Volumes": null,"WorkingDir": "/app","Entrypoint": null,"OnBuild": null,"Labels": {"maintainer": "ninesun0318<wangxucs123@126.com>"}},"NetworkSettings": {"Bridge": "","SandboxID": "83bb2e753efe2b317ee80f94ca7b3c0a668531a742a512a58f1d5c314eb4814f","HairpinMode": false,"LinkLocalIPv6Address": "","LinkLocalIPv6PrefixLen": 0,"Ports": {"5000/tcp": null},"SandboxKey": "/var/run/docker/netns/83bb2e753efe","SecondaryIPAddresses": null,"SecondaryIPv6Addresses": null,"EndpointID": "5ae0084aa81c630fa54778ad5f1368e0a7ed19a3e7042a7afd57995ebcd6ab2a","Gateway": "172.17.0.1","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"IPAddress": "172.17.0.2","IPPrefixLen": 16,"IPv6Gateway": "","MacAddress": "02:42:ac:11:00:02","Networks": {"bridge": {"IPAMConfig": null,"Links": null,"Aliases": null,"NetworkID": "27fd76cd109c5917347b6b7df8b2f281abb5a14050875f947f4ada2ff3c8fb1e","EndpointID": "5ae0084aa81c630fa54778ad5f1368e0a7ed19a3e7042a7afd57995ebcd6ab2a","Gateway": "172.17.0.1","IPAddress": "172.17.0.2","IPPrefixLen": 16,"IPv6Gateway": "","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"MacAddress": "02:42:ac:11:00:02","DriverOpts": null}}}}
]

六、查看容器的log

~]# docker logs bb42c845a4ed* Serving Flask app "app" (lazy loading)* Environment: productionWARNING: This is a development server. Do not use it in a production deployment.Use a production WSGI server instead.* Debug mode: off* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)* Serving Flask app "app" (lazy loading)* Environment: productionWARNING: This is a development server. Do not use it in a production deployment.Use a production WSGI server instead.* Debug mode: off* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

七、docker  1.7.1 基本操作

由于OS的原因,安装的1.7版本的docker  部分命令和之前的不太一样 这里记录一下

7.1  恢复docker镜像

在可以访问外网的机器上pull一个镜像

]# docker save -o spug_image.docker registry.aliyuncs.com/openspug/spug

然后将spug_image.docker copy到需要运行的机器上去.

在另外一台机器上恢复

docker run -i -t ubuntu /bin/bash <镜像名称>
/** **docker run参数**
-a=map[]:附加标准输入、输出或者错误输出
-c=0:共享CPU格式(相对重要)
-cidfile="":将容器的ID标识写入
-d=false:分离模式,在后台运行容器,并且打印出容器ID
-e=[]:设置环境变量
-h="":容器的主机名称
-i=false: 保持输入流开放即使没有附加输入流
-privileged=false: 给容器扩展的权限
-m="": 内存限制 (格式:<number><optional unit>, unit单位 = b, k, m or g
-n=true: 允许镜像使用网络
-p=[]: 匹配镜像内的网络端口号
-rm=false:当容器退出时自动删除容器 (不能跟 -d一起使用)
-t=false: 分配一个伪造的终端输入
-u="": 用户名或者ID
-dns=[]: 自定义容器的DNS服务器
-v=[]: 创建一个挂载绑定:[host-dir]:[container-dir]:[rw|ro].如果容器目录丢失,docker会创建一个新的卷
-volumes-from="": 挂载容器所有的卷
-entrypoint="": 覆盖镜像设置默认的入口点
-w="": 工作目录内的容器
-lxc-conf=[]: 添加自定义-lxc-conf="lxc.cgroup.cpuset.cpus = 0,1"
-sig-proxy=true: 代理接收所有进程信号(even in non-tty mode)
-expose=[]: 让你主机没有开放的端口
-link="": 连接到另一个容器(name:alias)
-name="": 分配容器的名称,如果没有指定就会随机生成一个
-P=false: Publish all exposed ports to thehost interfaces 公布所有显示的端口主机接口 
docker load -i spug_image.docker

7.2 查看所有镜像

]#docker images
REPOSITORY                            TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
registry.aliyuncs.com/openspug/spug   latest              eebcf73e51a9        5 days ago          669.8 MB

7.3 启动容器

docker run -d --restart=always --name=spug -p 80:80 -v /home/spug/mydata/:/data registry.aliyuncs.com/openspug/spug

7.4 查看容器

]#docker ps
CONTAINER ID        IMAGE                                 COMMAND             CREATED             STATUS              PORTS                NAMES
2f6051471ba9        registry.aliyuncs.com/openspug/spug   "/entrypoint.sh"    20 hours ago        Up 20 hours         0.0.0.0:80->80/tcp   spug 

7.5 重启容器

docker restart spug

docker container的操作相关推荐

  1. Docker源码分析(八):Docker Container网络(下)

    http://www.infoq.com/cn/articles/docker-source-code-analysis-part8 1.Docker Client配置容器网络模式 Docker目前支 ...

  2. docker 删除所有镜像_关于 Docker 镜像的操作,看完这篇就够啦 !(下)| 文末福利...

    紧接着上篇<关于 Docker 镜像的操作,看完这篇就够啦 !(上)>,奉上下篇 !!! 镜像作为 Docker 三大核心概念中最重要的一个关键词,它有很多操作,是您想学习容器技术不得不掌 ...

  3. docker的简单操作和端口映射

    docker的简单操作和端口映射:https://www.cnblogs.com/lixaingyang/p/11976827.html docker的简单操作和端口映射 一:简介 Docker镜像 ...

  4. docker container

    docker 容器操作 常用 参数 描述 -a,–attach list Attach to STDIN, STDOUT or STDERR -c,–cpu-shares int CPU shares ...

  5. 在docker container中为gsutil认证gcloud

    1.写在前面的话 本篇博客适用的对象是在docker container中运行gsutil cp xxxxx时报401错误的 为什么会报401?因为gsutil在登录到xxxx网站时,没有被gclou ...

  6. Docker常用配置管理操作札记整理

    Docker常用配置管理操作 Docker本地主机管理 查看所有运行的容器 docker ps 修改端口映射 docker default bridge环境 iptables -t nat -A DO ...

  7. 【docker容器常用操作】

    docker容器常用操作 docker生成镜像 docker 加载镜像 docker生成镜像 step1: 查看需要生成镜像的容器的id sudo docker ps 例如: comacai@DGX2 ...

  8. Docker容器详细操作

    Docker操作 镜像篇 下载镜像 导入镜像文件 删除镜像文件 查看镜像 导出镜像文件 运行镜像文件 容器篇 查看容器 启动容器 进入(exec)指定容器 从容器(Container)中退出(exit ...

  9. docker多容器操作与强制删除容器的方法步骤

    简介: 这是一篇有关[doker的多容器操作和强制删除容器的方法]的文章,用最精简的语言去表达给前端读者们. 1.创建多个容器 在WIndows环境下我们来作这个,先打开三个PowerShell窗口, ...

最新文章

  1. m1芯片支持php,M1芯片兼容性怎么样 M1芯片软件兼容好吗
  2. java后门_@Java Web 程序员,我们一起给程序开个后门吧:让你在保留现场,服务不重启的情况下,执行我们的调试代码...
  3. 各类常见的网站检查工具
  4. Java中的关键字——final
  5. 优化SQL查询:如何写出高性能SQL语句
  6. spark Rdd 操作transformaction和action等
  7. 《Python Cookbook 3rd》笔记(2.19):实现一个简单的递归下降分析器
  8. 骁龙660是32位还是64位_微软公布v2004最低处理器要求,放弃32位系统,你的CPU还能支持吗?...
  9. netty大白话(四)
  10. 简单工厂(Simple Pattern)模式
  11. CVE-2015-1635(MS15-034 )进行DOS攻击
  12. Sublime Text 3 Plugin Better!
  13. 【编译原理笔记11】中间代码生成:类型表达式,声明语句的翻译
  14. 数论 扩展欧几里德算法
  15. org.apache.hadoop.hbase.mapreduce.Driver 导入数据到HBASE table
  16. linux输入法状态栏消失,隐藏 fcitx 输入法的状态栏
  17. 数据库的几种去重方法总结
  18. MySQL基础(适合新手入门)
  19. HTML标签常用标签
  20. RabbitMQ的分发机制

热门文章

  1. [Algorithm] Find The Vowels
  2. NPN三极管电平反向电路
  3. 关于期刊审稿与同行评审,论文“不为所知”的拒稿秘密在这里
  4. 用python处理html代码的转义与还原 #x27; amp; lt; gt; quot; #x27;等特殊字符
  5. python 如何调试uc浏览器_Python爬虫教程-10-UserAgent和常见浏览器UA值
  6. java meta_java面试:你真的知道metaspace??
  7. 易语言大漠实现辅助一键启动游戏
  8. 每日一篇,非常齐全的网络时间戳API
  9. Openssl Aes加解密使用示例
  10. python三维图视角旋转_在python-matplotlib-Jupyter Noteb中交互式旋转三维绘图