ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Docker二:重点命令

2021-01-03 12:31:32  阅读:154  来源: 互联网

标签:容器 centos root VM 命令 Docker null 重点 docker


2. Docker重点命令

2.1 常用命令

docker version     # 显示docker版本详细信息
docker -v		   # 显示docker版本简约信息(只有一行)
docker info        # 显示docker系统信息,包括镜像和容器的数量
docker 命令 --help # 帮助命令

2.1 镜像命令

  • 查看本地主机上的所有镜像
docker images 
# 可选项
		 -a --all   # 显示镜像
		 -q --quiet # 只显示镜像ID
[root@VM-0-5-centos ~]# docker images
REPOSITORY               TAG       IMAGE ID       CREATED         SIZE
mysql                    5.7       f07dfa83b528   7 days ago      448MB
mysql                    latest    a347a5928046   7 days ago      545MB
centos                   latest    300e315adb2f   3 weeks ago     209MB
hello-world              latest    bf756fb1ae65   12 months ago   13.3kB
# 说明
REPOSITORY  镜像的仓库
TAG         镜像的标签
IMAGE ID    镜像的ID
CREATED     创建实际
SIZE		大小
  • 镜像搜索
docker search mysql
# 可选项
		--filter=条件列名=条件
# 查看stars大于3000的mysql相关镜像
[root@VM-0-5-centos ~]# docker search mysql --filter=STARS=3000
NAME      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql     MySQL is a widely used, open-source relation…   10326     [OK]       
mariadb   MariaDB is a community-developed fork of MyS…   3825      [OK]       
[root@VM-0-5-centos ~]#

2.2 容器命令

  • 拉取镜像
    docker pull 镜像名
  • 启动容器
docker run [可选参数] 容器名
# 可选参数
-d  后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p  指定容器端口 -p
  • kill容器进程
# 杀掉所有容器进程
[root@VM-0-5-centos ~]# docker rm -f $(docker ps -aq)
725f50c6b201
d90df3b7eacc
0d27b0b6047b
51b317e4cd89
3cc802481bed
[root@VM-0-5-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@VM-0-5-centos ~]# 

2.3 进程命令

进程

# 查看进程
docker ps
# 查看所有历史进程
docker ps -a
# 注:如果后台没有进程在运行,则会停止
# 查看容器中进程信息
docker top 容器ID
# UID 用户ID,PID进程ID
[root@VM-0-5-centos ~]# docker top 725f50c6b201
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                1106                1086                0                   21:39               ?                   00:00:00            /bin/sh -c while true;do echo moxc; sleep 3; done
root                3546                1106                0                   21:50               ?                   00:00:00            /usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 3
# 杀掉所有容器进程
[root@VM-0-5-centos ~]# docker rm -f $(docker ps -aq)
51b317e4cd89
3cc802481bed
[root@VM-0-5-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

后台启动

## docker run -d 镜像名
# 启动centos,测试shell脚本,每隔3s钟打印一次
[root@VM-0-5-centos ~]# docker run -d centos /bin/sh -c "while true;do echo moxc; sleep 3; done"
725f50c6b2015b0329d3f424448d67b3bdd63a714fe3a36d42c135f57d915e75
[root@VM-0-5-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS     NAMES
725f50c6b201   centos    "/bin/sh -c 'while t…"   6 seconds ago   Up 5 seconds             practical_wilson

查看日志

# docker logs -f -t --tail 显示条数 进程ID
[root@VM-0-5-centos ~]# docker logs -f -t --tail 10 725f50c6b201
2020-12-29T13:41:15.141331387Z moxc
...

查看镜像元数据

docker inspect 容器ID
[root@VM-0-5-centos ~]# docker inspect 725f50c6b201
[
    {
        "Id": "725f50c6b2015b0329d3f424448d67b3bdd63a714fe3a36d42c135f57d915e75",
        "Created": "2020-12-29T13:39:20.720268445Z",
        "Path": "/bin/sh",
        "Args": [
            "-c",
            "while true;do echo moxc; sleep 3; done"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 1106,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2020-12-29T13:39:21.071505545Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:300e315adb2f96afe5f0b2780b87f28ae95231fe3bdd1e16b9ba606307728f55",
        "ResolvConfPath": "/var/lib/docker/containers/725f50c6b2015b0329d3f424448d67b3bdd63a714fe3a36d42c135f57d915e75/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/725f50c6b2015b0329d3f424448d67b3bdd63a714fe3a36d42c135f57d915e75/hostname",
        "HostsPath": "/var/lib/docker/containers/725f50c6b2015b0329d3f424448d67b3bdd63a714fe3a36d42c135f57d915e75/hosts",
        "LogPath": "/var/lib/docker/containers/725f50c6b2015b0329d3f424448d67b3bdd63a714fe3a36d42c135f57d915e75/725f50c6b2015b0329d3f424448d67b3bdd63a714fe3a36d42c135f57d915e75-json.log",
        "Name": "/practical_wilson",
        "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/d403e0654c7703911b696f07363abfc53d6b4336bd661946860937632c922dc7-init/diff:/var/lib/docker/overlay2/5f460fe5674acc63a62571653dfe94adcdacbbffbeeb5e5f25f9a96d75876aed/diff",
                "MergedDir": "/var/lib/docker/overlay2/d403e0654c7703911b696f07363abfc53d6b4336bd661946860937632c922dc7/merged",
                "UpperDir": "/var/lib/docker/overlay2/d403e0654c7703911b696f07363abfc53d6b4336bd661946860937632c922dc7/diff",
                "WorkDir": "/var/lib/docker/overlay2/d403e0654c7703911b696f07363abfc53d6b4336bd661946860937632c922dc7/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [],
        "Config": {
            "Hostname": "725f50c6b201",
            "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/sh",
                "-c",
                "while true;do echo moxc; sleep 3; 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": "86a54f832c5bb3ceddbc0da2e807f2b8dbd1fb18ce319277933ae5c71d85ca97",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/var/run/docker/netns/86a54f832c5b",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "9e6404c46b20ecb8f3471ab72c75231f8396bcf1d8578acf41ff78b8242424af",
            "Gateway": "172.18.0.1",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "172.18.0.4",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
            "MacAddress": "02:42:ac:12:00:04",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "2f3cc32d51cdf11b3118ff877978cc2aa521a0750670a921ef87daf097d5e827",
                    "EndpointID": "9e6404c46b20ecb8f3471ab72c75231f8396bcf1d8578acf41ff78b8242424af",
                    "Gateway": "172.18.0.1",
                    "IPAddress": "172.18.0.4",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:12:00:04",
                    "DriverOpts": null
                }
            }
        }
    }
]
[root@VM-0-5-centos ~]# 

进入当前正在进行的容器

容器通常都是在后台运行,需要进入容器修改配置

  • docker exec
    进程容器后开启一个新的终端,可以正常在里面操作
  • docker attach
    进入正在进行的终端,不会启动新的终端
# 方式一
docker exec -it 容器ID bashshell
[root@VM-0-5-centos ~]# docker exec -it 725f50c6b201 /bin/bash
[root@725f50c6b201 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
# 方式二
docker attach 容器ID
[root@VM-0-5-centos ~]# docker attach 725f50c6b201

从容器内拷贝文件到主机上

拷贝是一个手动,可以通过 - v 卷技术 实现自动同步

docker cp 容器ID:容器文件路径 主机路径
# 新开一个容器centos,进入容器在home目录下创建moxc文件夹,退出容器获取启动的容器ID(也可以另外开终端获取)
# 使用命令,在主机中查看文件已拷贝出来
# 新开一个centos容器
[root@VM-0-5-centos ~]# docker run -it centos /bin/bash
# 同时按住ctrl+p+q退出容器 
[root@f4d6e37e4929 /]# [root@VM-0-5-centos ~]# 
# 查看容器centos进程已启动
[root@VM-0-5-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
f4d6e37e4929   centos    "/bin/bash"   31 seconds ago   Up 30 seconds             thirsty_diffie
# 获取到容器ID后,重新进入正在容器的容器centos
[root@VM-0-5-centos ~]# docker attach f4d6e37e4929
[root@f4d6e37e4929 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
# 在容器的home目录下创建文件夹moxc
[root@f4d6e37e4929 /]# cd /home/
[root@f4d6e37e4929 home]# ls
[root@f4d6e37e4929 home]# cd     
[root@f4d6e37e4929 ~]# mkdir /home/moxc
[root@f4d6e37e4929 ~]# cd /home/
[root@f4d6e37e4929 home]# ls
moxc
# 退出容器
[root@f4d6e37e4929 home]# exit
exit
# 容器已关闭,使用docker ps -a 查看历史容器进程ID
[root@VM-0-5-centos ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS                      PORTS     NAMES
f4d6e37e4929   centos    "/bin/bash"   4 minutes ago   Exited (0) 59 seconds ago             thirsty_diffie
# 通过命令复制文件夹,进入主机目录查看到文件夹存在
[root@VM-0-5-centos ~]# docker cp f4d6e37e4929:/home/moxc /home/mydata
[root@VM-0-5-centos ~]# cd /home/mydata/
[root@VM-0-5-centos mydata]# ls
moxc 

2.5 命令小结


标签:容器,centos,root,VM,命令,Docker,null,重点,docker
来源: https://blog.csdn.net/qq_28770757/article/details/111937631

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有