有道云笔记
查看容器日志log
带时间戳 持续输出 头部10行
[root@ksyun ~]# docker logs -t -f --tail 10 9c715973fd78
2021-03-10T10:52:13.107371793Z liukai
2021-03-10T10:52:14.108952176Z liukai
2021-03-10T10:52:15.110683711Z liukai
2021-03-10T10:52:16.112391219Z liukai
查看容器中的进程信息 top ps
docker top 9c715973fd78
UID PID PPID C STIME TTY TIME CMD
root 1599066 1599047 0 18:42 ? 00:00:00 /bin/bash -c while true;do echo liukai;sleep 1;done
root 1600965 1599066 0 18:54 ? 00:00:00 /usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 1
查看镜像中的元数据
[root@ksyun ~]# docker inspect 9c715973fd78
[
{
"Id": "9c715973fd78e9682b06a71ac351c9c313b395248a626f16eb825822285ff64b",
"Created": "2021-03-10T10:42:37.363785401Z",
"Path": "/bin/bash",
"Args": [
"-c",
"while true;do echo liukai;sleep 1;done "
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 1599066,
"ExitCode": 0,
"Error": "",
"StartedAt": "2021-03-10T10:42:37.919419322Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:300e315adb2f96afe5f0b2780b87f28ae95231fe3bdd1e16b9ba606307728f55",
"ResolvConfPath": "/var/lib/docker/containers/9c715973fd78e9682b06a71ac351c9c313b395248a626f16eb825822285ff64b/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/9c715973fd78e9682b06a71ac351c9c313b395248a626f16eb825822285ff64b/hostname",
"HostsPath": "/var/lib/docker/containers/9c715973fd78e9682b06a71ac351c9c313b395248a626f16eb825822285ff64b/hosts",
"LogPath": "/var/lib/docker/containers/9c715973fd78e9682b06a71ac351c9c313b395248a626f16eb825822285ff64b/9c715973fd78e9682b06a71ac351c9c313b395248a626f16eb825822285ff64b-json.log",
"Name": "/dreamy_noether",
"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,
"CgroupnsMode": "host",
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "private",
"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,
"DeviceRequests": null,
"KernelMemory": 0,
"KernelMemoryTCP": 0,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"OomKillDisable": false,
"PidsLimit": null,
"Ulimits": null,
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0,
"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/9a883cc679ce646cdfbfa28ac99ebd761ca65dce10bf9574bddc0a8d2d79ca1a-init/diff:/var/lib/docker/overlay2/3f7af7100eb7006f342ee49a85a786301a7b029668745708202599022b4b9a4c/diff",
"MergedDir": "/var/lib/docker/overlay2/9a883cc679ce646cdfbfa28ac99ebd761ca65dce10bf9574bddc0a8d2d79ca1a/merged",
"UpperDir": "/var/lib/docker/overlay2/9a883cc679ce646cdfbfa28ac99ebd761ca65dce10bf9574bddc0a8d2d79ca1a/diff",
"WorkDir": "/var/lib/docker/overlay2/9a883cc679ce646cdfbfa28ac99ebd761ca65dce10bf9574bddc0a8d2d79ca1a/work"
},
"Name": "overlay2"
},
"Mounts": [],
"Config": {
"Hostname": "9c715973fd78",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"/bin/bash",
"-c",
"while true;do echo liukai;sleep 1;done "
],
"Image": "centos",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"org.label-schema.build-date": "20201204",
"org.label-schema.license": "GPLv2",
"org.label-schema.name": "CentOS Base Image",
"org.label-schema.schema-version": "1.0",
"org.label-schema.vendor": "CentOS"
}
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "143127e4484b3494306c30663d6147b1b37c57823a04756bf45e38709d4a366f",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {},
"SandboxKey": "/var/run/docker/netns/143127e4484b",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "69de773a92df12c059c32e827076bee64bb2628875f8078f388f3018c7b81df8",
"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": "344b2f881c38fd8d52f194924744254c3c45aa76580433e0bfd71f1f857844af",
"EndpointID": "69de773a92df12c059c32e827076bee64bb2628875f8078f388f3018c7b81df8",
"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
}
}
}
}
]
进入正在运行的容器 ssh telnet
方式①
docker exec -it 9c715973fd78 /bin/bash
exec 执行
-it 以交互模式进行
方式②
docker attach 9c715973fd78
执行当前代码
命令区别
docker exec 进入后开启一个新的终端
docker attach 进入容器正在执行的终端
从容器内拷贝文件到主机上或从主机拷贝文件到容器 例如cp
docker cp
docker cp 9c715973fd78:/home/liukai1test /root 从容器内拷贝文件到主机上
[root@ksyun ~]# docker cp liukai1test 9c715973fd78:/home/ 主机拷贝文件到容器
实例1
[root@ksyun ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9c715973fd78 centos "/bin/bash -c 'while…" 23 minutes ago Up 5 minutes dreamy_noether
[root@ksyun ~]# touch liukaitest
[root@ksyun ~]# docker exec -it 9c715973fd78 /bin/bash
[root@9c715973fd78 /]#
[root@9c715973fd78 /]#
[root@9c715973fd78 /]# cd /home/
[root@9c715973fd78 home]# ls
[root@9c715973fd78 home]# touch liukai1test
[root@9c715973fd78 home]# exit
exit
[root@ksyun ~]# docker cp 9c715973fd78:/home/liukai1test /root
[root@ksyun ~]# ls
liukai1test liukaitest
[root@ksyun ~]#
练习
搜索镜像
[root@ksyun ~]# docker search nginx
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 14547 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for docker con… 1982 [OK]
richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable of… 809 [OK]
jc21/nginx-proxy-manager Docker container for managing Nginx proxy ho… 158
linuxserver/nginx An Nginx container, brought to you by LinuxS… 142
tiangolo/nginx-rtmp Docker image with Nginx using the nginx-rtmp… 115 [OK]
jlesage/nginx-proxy-manager Docker container for Nginx Proxy Manager 97 [OK]
bitnami/nginx Bitnami nginx Docker Image 94 [OK]
alfg/nginx-rtmp NGINX, nginx-rtmp-module and FFmpeg from sou… 89 [OK]
nginxdemos/hello NGINX webserver that serves a simple page co… 67 [OK]
nginx/nginx-ingress NGINX Ingress Controller for Kubernetes 49
privatebin/nginx-fpm-alpine PrivateBin running on an Nginx, php-fpm & Al… 48 [OK]
nginxinc/nginx-unprivileged Unprivileged NGINX Dockerfiles 31
staticfloat/nginx-certbot Opinionated setup for automatic TLS certs lo… 19 [OK]
schmunk42/nginx-redirect A very simple container to redirect HTTP tra… 19 [OK]
nginx/nginx-prometheus-exporter NGINX Prometheus Exporter 16
centos/nginx-112-centos7 Platform for running nginx 1.12 or building … 15
centos/nginx-18-centos7 Platform for running nginx 1.8 or building n… 13
bitwarden/nginx The Bitwarden nginx web server acting as a r… 9
flashspys/nginx-static Super Lightweight Nginx Image 9 [OK]
bitnami/nginx-ingress-controller Bitnami Docker Image for NGINX Ingress Contr… 8 [OK]
mailu/nginx Mailu nginx frontend 8 [OK]
navidonskis/nginx-php5.6 Docker nginx + php5.6 on Ubuntu 7 [OK]
ansibleplaybookbundle/nginx-apb An APB to deploy NGINX 2 [OK]
wodby/nginx Generic nginx 1 [OK]
[root@ksyun ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
Digest: sha256:10b8cc432d56da8b61b070f4c7d2543a9ed17c2b23010b43af434fd40e2ca4aa
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
查看镜像
[root@ksyun ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest f6d0b4767a6c 8 weeks ago 133MB
centos latest 300e315adb2f 3 months ago 209MB
运行镜像 -p 映射端口
[root@ksyun ~]# docker run -d --name nginx-01 -p 80:80 nginx
81346d4dfa517682f156e0a7e654873b6a03453ca0e8f1a691fbf9edcd68d013
[root@ksyun ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
81346d4dfa51 nginx "/docker-entrypoint.…" 4 seconds ago Up 3 seconds 0.0.0.0:80->80/tcp nginx-01
9c715973fd78 centos "/bin/bash -c 'while…" 48 minutes ago Up 29 minutes dreamy_noether
验证结果
[root@ksyun ~]# curl localhost:80
<!DOCTYPE html>
Welcome to nginx!
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.
For online documentation and support please refer to
nginx.org.
Commercial support is available at
nginx.com.
Thank you for using nginx.