1、把container放后台运行

[root@localhost dockerfile3]# docker run bigni/python_flask #默认运行image,container里运行的app会放在前台,如果可控制台关闭,则程序也会关闭
* Serving Flask app "app" (lazy loading)
* Environment: production
WARNING: 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) ^[[A^[[A^C[root@localhost dockerfile3]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@localhost dockerfile3]# docker run -d bigni/python_flask #加个d 参数,则会放后台运行
0ff6994da726c86037c5d7cd0eb3ba89c339cdabac5c7df92e112d9c4c417d61
[root@localhost dockerfile3]#
[root@localhost dockerfile3]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0ff6994da726 bigni/python_flask "python app.py" seconds ago Up seconds /tcp relaxed_banzai
[root@localhost dockerfile3]#

2、如何进入正在运行的container里

[root@localhost dockerfile3]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0ff6994da726 bigni/python_flask "python app.py" seconds ago Up seconds /tcp relaxed_banzai
[root@localhost dockerfile3]#
[root@localhost dockerfile3]#
[root@localhost dockerfile3]#
[root@localhost dockerfile3]# docker exec -it 0ff6994da726 /bin/bash #使用exec 加上-it要进入交互界面, /bin/bash表示要运行的命令
root@0ff6994da726:/app# ls
app.py
root@0ff6994da726:/app# pwd
/app
root@0ff6994da726:/app# exit #退出
exit
[root@localhost dockerfile3]# docker ps #退出后进程还在后台运行,不影响原来在运行的app
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0ff6994da726 bigni/python_flask "python app.py" minutes ago Up minutes /tcp relaxed_banzai
[root@localhost dockerfile3]#

3、查看运行中的容器的IP地址

[root@localhost dockerfile3]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0ff6994da726 bigni/python_flask "python app.py" minutes ago Up minutes /tcp relaxed_banzai
[root@localhost dockerfile3]# docker exec -it 0ff6994da726 ip
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
ip [ -force ] -batch filename
where OBJECT := { link | address | addrlabel | route | rule | neigh | ntable |
tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm |
netns | l2tp | fou | macsec | tcp_metrics | token | netconf | ila }
OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
-h[uman-readable] | -iec |
-f[amily] { inet | inet6 | ipx | dnet | mpls | bridge | link } |
- | - | -I | -D | -B | - |
-l[oops] { maximum-addr-flush-attempts } | -br[ief] |
-o[neline] | -t[imestamp] | -ts[hort] | -b[atch] [filename] |
-rc[vbuf] [size] | -n[etns] name | -a[ll] | -c[olor]}
[root@localhost dockerfile3]# docker exec -it 0ff6994da726 ip address #查看ip地址
: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN group default qlen
link/loopback ::::: brd :::::
inet 127.0.0.1/ scope host lo
valid_lft forever preferred_lft forever
: eth0@if69: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc noqueue state UP group default
link/ether ::ac::: brd ff:ff:ff:ff:ff:ff link-netnsid
inet 172.17.0.2/ brd 172.17.255.255 scope global eth0
valid_lft forever preferred_lft forever
[root@localhost dockerfile3]#

4、停止运行的container 可以使用

[root@localhost dockerfile3]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0ff6994da726 bigni/python_flask "python app.py" minutes ago Up minutes /tcp relaxed_banzai
[root@localhost dockerfile3]# docker stop 0f #id可以缩写, 或者使用 docker container stop containerID
0f
[root@localhost dockerfile3]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@localhost dockerfile3]#

5、指定container name

PS:name也可以和ID一样,具有唯一性

[root@localhost dockerfile3]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@localhost dockerfile3]# docker run -d bigni/python_flask --name=python_flask
a0f19d7ec136c6359cee143d00f4f2619d09381279576c377f4d5fca33c88aed
docker: Error response from daemon: OCI runtime create failed: container_linux.go:: starting container process caused "exec: \"--name=python_flask\": executable file not found in $PATH": unknown.
[root@localhost dockerfile3]# docker run -d --name=python_flask bigni/python_flask
e9352a7f74a34ef5fd4470e44330496ef215b626db30712fdc62b5e1ec5361e2
[root@localhost dockerfile3]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e9352a7f74a3 bigni/python_flask "python app.py" seconds ago Up seconds /tcp python_flask
[root@localhost dockerfile3]#

6、查看docker object low-level information

[root@localhost dockerfile3]# docker inspect e9352a7f74a3
[
{
"Id": "e9352a7f74a34ef5fd4470e44330496ef215b626db30712fdc62b5e1ec5361e2",
"Created": "2019-07-09T13:54:12.711239412Z",
"Path": "python",
"Args": [
"app.py"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": ,
"ExitCode": ,
"Error": "",
"StartedAt": "2019-07-09T13:54:12.984885505Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:9ca7a3d1c78e0e6c5e5871a0fb3d8640cf1a3f340da6a700c265a15c727d36f1",
"ResolvConfPath": "/var/lib/docker/containers/e9352a7f74a34ef5fd4470e44330496ef215b626db30712fdc62b5e1ec5361e2/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/e9352a7f74a34ef5fd4470e44330496ef215b626db30712fdc62b5e1ec5361e2/hostname",
"HostsPath": "/var/lib/docker/containers/e9352a7f74a34ef5fd4470e44330496ef215b626db30712fdc62b5e1ec5361e2/hosts",
"LogPath": "/var/lib/docker/containers/e9352a7f74a34ef5fd4470e44330496ef215b626db30712fdc62b5e1ec5361e2/e9352a7f74a34ef5fd4470e44330496ef215b626db30712fdc62b5e1ec5361e2-json.log",
"Name": "/python_flask",
"RestartCount": ,
"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":
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"CapAdd": null,
"CapDrop": null,
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "shareable",
"Cgroup": "",
"Links": null,
"OomScoreAdj": ,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": ,
"Runtime": "runc",
"ConsoleSize": [
, ],
"Isolation": "",
"CpuShares": ,
"Memory": ,
"NanoCpus": ,
"CgroupParent": "",
"BlkioWeight": ,
"BlkioWeightDevice": [],
"BlkioDeviceReadBps": null,
"BlkioDeviceWriteBps": null,
"BlkioDeviceReadIOps": null,
"BlkioDeviceWriteIOps": null,
"CpuPeriod": ,
"CpuQuota": ,
"CpuRealtimePeriod": ,
"CpuRealtimeRuntime": ,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [],
"DeviceCgroupRules": null,
"DiskQuota": ,
"KernelMemory": ,
"MemoryReservation": ,
"MemorySwap": ,
"MemorySwappiness": null,
"OomKillDisable": false,
"PidsLimit": ,
"Ulimits": null,
"CpuCount": ,
"CpuPercent": ,
"IOMaximumIOps": ,
"IOMaximumBandwidth": ,
"MaskedPaths": [
"/proc/asound",
"/proc/acpi",
"/proc/kcore",
"/proc/keys",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/proc/scsi",
"/sys/firmware"
],
"ReadonlyPaths": [
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
]
},
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/b0fd3dcb14f098298cffdabbd846c50913def554fbedcc9964f6d8340133f444-init/diff:/var/lib/docker/overlay2/03a9b82b2c9e96491837c0a33dd45886adbfa7e2341ba32f3406347920fdb555/diff:/var/lib/docker/overlay2/da3992aa0942e84aaf65255e86b76aa2f33a67d0bd365e703342702678665744/diff:/var/lib/docker/overlay2/97fe6e5072531114ad2c5776bcfc3b8bfb99142415cee98d0b7f99e4f85a3406/diff:/var/lib/docker/overlay2/766fd8fb4b7ab5e6262fc6eaddb1bf6217d36f39c1df003efcc912a2a1ced538/diff:/var/lib/docker/overlay2/4a1b0db496f066aa43883d8ca0a59595a9cdfdb84cc725288aaa21d8c43f3e4e/diff:/var/lib/docker/overlay2/3a95f72acbfdebb697651bbf6faed202b1ddec3ed0f5c2c1a473504ffb92e5a1/diff:/var/lib/docker/overlay2/8c21df782bdedb66d0a1d465911e7d0f1607ca91df6625d1a3226cfbce86b799/diff:/var/lib/docker/overlay2/4c84db527317ca84f629017feb44a390dea6e7447eb1b20fafd02158c782daa2/diff:/var/lib/docker/overlay2/b09af7df97608383eae6fcaa95fc598493fa2ec7d32bf22ad36e63ac6eb2d79a/diff:/var/lib/docker/overlay2/587c552e7b5dc0a9092cf8789ab84c12b2d1fca39bc2a224ecd10c11cd802105/diff:/var/lib/docker/overlay2/c9ab7356f6f29bd2fbfc084c4a7141d634b5092b9242979dbacf8907aaf97aa7/diff",
"MergedDir": "/var/lib/docker/overlay2/b0fd3dcb14f098298cffdabbd846c50913def554fbedcc9964f6d8340133f444/merged",
"UpperDir": "/var/lib/docker/overlay2/b0fd3dcb14f098298cffdabbd846c50913def554fbedcc9964f6d8340133f444/diff",
"WorkDir": "/var/lib/docker/overlay2/b0fd3dcb14f098298cffdabbd846c50913def554fbedcc9964f6d8340133f444/work"
},
"Name": "overlay2"
},
"Mounts": [],
"Config": {
"Hostname": "e9352a7f74a3",
"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",
"PYTHONIOENCODING=UTF-8",
"GPG_KEY=C01E1CAD5EA2C4F0B8E3571504C367C218ADD4FF",
"PYTHON_VERSION=2.7.16",
"PYTHON_PIP_VERSION=19.1.1"
],
"Cmd": [
"python",
"app.py"
],
"ArgsEscaped": true,
"Image": "bigni/python_flask",
"Volumes": null,
"WorkingDir": "/app",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"author": "BIGNI"
}
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "fa59981a59c7d43a82cff0c4c7549d51223848c845fd4c9792eab3310f1d2cdc",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": ,
"Ports": {
"5000/tcp": null
},
"SandboxKey": "/var/run/docker/netns/fa59981a59c7",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "0b0627742a3459b1f156862b9ba5ee779bb0158457e89cd284c5b68916a6a62f",
"Gateway": "172.17.0.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": ,
"IPAddress": "172.17.0.2",
"IPPrefixLen": ,
"IPv6Gateway": "",
"MacAddress": "02:42:ac:11:00:02",
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "d74eae6754f77ff10150ff7d99c411bc54bb3e35c2feb05eff54f68206a5a22c",
"EndpointID": "0b0627742a3459b1f156862b9ba5ee779bb0158457e89cd284c5b68916a6a62f",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.2",
"IPPrefixLen": ,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": ,
"MacAddress": "02:42:ac:11:00:02",
"DriverOpts": null
}
}
}
}
]
[root@localhost dockerfile3]#

docker inspect containerID

7、使用stress命令对image 内核进行测试

1、进入image交互界面

docker run -it ubuntu

2、安装stress

root@78a8b33fc484:/# apt-get update && apt-get install -y stress

3、stress --help查看参数

root@78a8b33fc484:/# stress --help
`stress' imposes certain types of compute stress on your system Usage: stress [OPTION [ARG]] ...
-?, --help show this help statement
--version show version statement
-v, --verbose be verbose #debug调试
-q, --quiet be quiet
-n, --dry-run show what would have been done
-t, --timeout N timeout after N seconds
--backoff N wait factor of N microseconds before work starts
-c, --cpu N spawn N workers spinning on sqrt()
-i, --io N spawn N workers spinning on sync()
-m, --vm N spawn N workers spinning on malloc()/free() #启动多少个进程
--vm-bytes B malloc B bytes per vm worker (default is 256MB) #进程占用内存大小,默认是256MB
--vm-stride B touch a byte every B bytes (default is )
--vm-hang N sleep N secs before free (default is none, is inf)
--vm-keep redirty memory instead of freeing and reallocating
-d, --hdd N spawn N workers spinning on write()/unlink()
--hdd-bytes B write B bytes per hdd worker (default is 1GB)
--hdd-noclean do not unlink files created by hdd workers Example: stress --cpu --io --vm --vm-bytes 128M --timeout 10s Note: Numbers may be suffixed with s,m,h,d,y (time) or B,K,M,G (size).
root@78a8b33fc484:/# stress --vm
stress: info: [] dispatching hogs: cpu, io, vm, hdd

docker-container 操作的更多相关文章

  1. docker container 的操作

    删除所有退出的容器 docker container rm $(docker ps -aq)

  2. docker container(容器)

    docker 容器 Docker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用 容器是从镜像创建的应用运行实例.它可以启动,开始,停止,删除,而这些容器都是彼此相互隔离,互不可见的. ...

  3. Docker: docker container常用命令实战(2)-数据持久化

    应用服务是在容器中运行的,容器随时会被删除,如果是个mysql容器呢?数据存储在容器里,容器删除了,数据也没了,那就是个噩梦. 所以一些数据是需要存储在容器之外的,可以是宿主机,可以是网络存储位置上, ...

  4. Docker container常用命令

    列出所有的container. docker container ls 启动一个container. docker run –p <host端口>: <container端口> ...

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

    1.Docker Client配置容器网络模式 Docker目前支持4种网络模式,分别是bridge.host.container.none,Docker开发者可以根据自己的需求来确定最适合自己应用场 ...

  6. docker的操作

    查询容器 docker ps  只能查询到正在运行的docker镜像: 如果添加上-a的选项,则会显示所有的(包括已经exit,未启动)的容器 基于一个镜像来构建(run)容器,并启动 docker ...

  7. docker 学习操作记录 5-2

    记录5-2 root@53d0a643a2c7:/# quit bash: quit: command not found root@53d0a643a2c7:/# exit exit -->@ ...

  8. Docker 0x01:Docker Container容器技术

    目录 Docker Container容器技术 一句话回答什么是容器? 为什么要有容器? 容器技术的影响 容器技术浅谈原理,怎么实现的?为什么能够这样轻量级标准化 难点 容器的标准 花边 Docker ...

  9. Docker 容器操作

    1. 创建并运行 一个容器 docker run -it --rm   centos:latest  bash run  运行容器 -it  以交互方式运行容器 --rm  退出容器后删除容器 cen ...

  10. docker常见操作总结

    一.原理 1.Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件,它能直接访问物理设备,会给每一台虚拟机分配内存.CPU.网络.磁盘等资 ...

随机推荐

  1. Ajax爬取百度图片

    目标网址 分析网址:http://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct=201326592&cl=2& ...

  2. zabbix4.0短信告警配置

    #!/usr/bin/env python3 import requests import sys #http://utf8.api.smschinese.cn/?Uid=USERNAME&K ...

  3. VUE小案例--简易计算器

    这个小案例主要时练习v-model的使用,功能并不完善 <!DOCTYPE html> <html lang="zh-CN"> <head> & ...

  4. CSS Reset(样式重置)

    CSS Reset,意为重置默认样式.HTML中绝大部分标签元素在网页显示中都有一个默认属性值,通常为了避免重复定义元素样式,需要进行重置默认样式(CSS Reset).举几个例子:1.淘宝(CSS ...

  5. Sass:RGB颜色函数-Mix()函数

    Mix 函数是将两种颜色根据一定的比例混合在一起,生成另一种颜色.其使用语法如下: mix($color-1,$color-2,$weight); $color-1 和 $color-2 指的是你需要 ...

  6. UVA10779 Collectors Problem 【迁移自洛谷博客】

    这是一道不错的练最大流建模的基础题. 这种题目审题是关键. Bob's friends will only exchange stickers with Bob, and they will give ...

  7. 洛咕P4180 严格次小生成树

    鸽了很久的一道题(?)貌似是去年NOIP前听的emm... 首先我们分析一下最小生成树的性质 我们kruskal建树的时候呢是从小到大贪心加的边,这个的证明用到拟阵.(我太菜了不会) 首先我们不存在连 ...

  8. 线程池(ThreadPool)创建

    线程池创建方式jdk1.5 Java通过Executors(jdk1.5并发包)提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活 ...

  9. 英语单词SYNOPSIS

    SYNOPSIS 来源——man帮助内容 BASH() General Commands Manual BASH() NAME bash - GNU Bourne-Again SHell SYNOPS ...

  10. .Net Core 使用 Swagger 提供API文档

    1.运行环境 开发工具:Visual Studio 2017 JDK版本:.NET Core 2.0 项目管理工具:nuget 2.GITHUB地址 https://github.com/nbfujx ...