Docker的常用命令

1、帮助命令

docker version #显示docker的版本信息
docker info  #显示docker的系统信息,包括镜像和容器的数量
docker 命令 --help  #帮助命令

官方帮助文档https://docs.docker.com/engine/reference/builder/

2、镜像命令

docker images 查看所有主机的命令

[root@izbp1doatyz9rmpmxs06naz ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED       SIZE
hello-world   latest    d1165f221234   5 weeks ago   13.3kB

#名词解释
#REPOSITORY 镜像的仓库源
#TAG 镜像的标签
#IMAGE ID 镜像id
#CREATED 镜像创建时间
#SIZE 镜像的大小

#可选项
#	-a, --all             Show all images (default hides intermediate images) #列出所有镜像
#	-q, --quiet           Only show image IDs #只显示镜像id

docker search 搜索镜像

[root@izbp1doatyz9rmpmxs06naz ~]# docker search mysql
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   10753     [OK]    
#可选项
-f, --filter filter   Filter output based on conditions provided 
#使用  --filter=stars=5000
[root@izbp1doatyz9rmpmxs06naz ~]# docker search mysql --filter=stars=5000   #搜索出镜像stars大于3000的
NAME      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql     MySQL is a widely used, open-source relation…   10753     [OK]   

docker pull 下载镜像

docker pull 镜像名[:tag镜像版本]
[root@izbp1doatyz9rmpmxs06naz ~]# docker pull mysql
Using default tag: latest #如果不写tag就默认下载最新版
latest: Pulling from library/mysql
f7ec5a41d630: Pull complete 
9444bb562699: Pull complete 
6a4207b96940: Pull complete 
181cefd361ce: Pull complete 
8a2090759d8a: Pull complete 
15f235e0d7ee: Pull complete 
d870539cd9db: Pull complete 
5726073179b6: Pull complete 
eadfac8b2520: Pull complete 
f5936a8c3f2b: Pull complete 
cca8ee89e625: Pull complete 
6c79df02586a: Pull complete 
Digest: sha256:6e0014cdd88092545557dee5e9eb7e1a3c84c9a14ad2418d5f2231e930967a38  #签名
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest #下载的真实地址

#两者等价
docker pull mysql
docker.io/library/mysql:latest
#指定版本下载
[root@izbp1doatyz9rmpmxs06naz ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
f7ec5a41d630: Already exists #分层下载,如果有已经存在的就公用,能节省空间
9444bb562699: Already exists 
6a4207b96940: Already exists 
181cefd361ce: Already exists 
8a2090759d8a: Already exists 
15f235e0d7ee: Already exists 
d870539cd9db: Already exists 
7310c448ab4f: Pull complete 
4a72aac2e800: Pull complete 
b1ab932f17c4: Pull complete 
1a985de740ee: Pull complete 
Digest: sha256:e42a18d0bd0aa746a734a49cbbcc079ccdf6681c474a238d38e79dc0884e0ecc
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7

docker rmi 删除镜像

#单个镜像删除  docker rmi 容器id/镜像仓库:版本号
[root@izbp1doatyz9rmpmxs06naz ~]# docker rmi mysql:5.7
Untagged: mysql:5.7
Untagged: mysql@sha256:e42a18d0bd0aa746a734a49cbbcc079ccdf6681c474a238d38e79dc0884e0ecc
Deleted: sha256:450379344707c56f47d1391c18fc3ac22e2c59fbf384a0de77f2bdfc59bcbc61
Deleted: sha256:f524a8b23a8a8a9d862f6c0251b19365eda045117dae4f82bd9f16edcaf31402
Deleted: sha256:c18828290fa30349004e01790ede1117f82dd6ea26a74c83a6e985c7a3ffafdd
Deleted: sha256:33db070b2792af524b7a61a855835c813f3b06178d6103766a5c90024fe25a76
Deleted: sha256:556286c5cd9dae96e08fbef933278ca181e296098ee44ca083891e5739a87fdc
#多个镜像删除 docker rmi -f 容器id 容器id 容器id
#所有镜像删除  docker rmi -f $(docker images -aq)
[root@izbp1doatyz9rmpmxs06naz ~]# docker rmi -f $(docker images -aq) #-f删除所有镜像  -aq 显示镜像的镜像id
Untagged: mysql:latest
Untagged: mysql@sha256:6e0014cdd88092545557dee5e9eb7e1a3c84c9a14ad2418d5f2231e930967a38
Deleted: sha256:cbe8815cbea8fb86ce7d3169a82d05301e7dfe1a8d4228941f23f4f115a887f2
Deleted: sha256:c74b92ab7fde96874c2f7afa77e338ebe739b829f5cb28a9975c9b0dcb47feb9
Deleted: sha256:fded7187915726c2d2d18c8178cd70ab9aceab27f49a68ead928a662664b9402
Deleted: sha256:217ef0e6aab8111068df664529c4bdcfc2b58701913028fd0d61b00265ad5a9b
Deleted: sha256:1ab4dbca7ef7a8eb6f7ea8ddd780b5d55aac2a0098f2c217c68e31216a2de140
Deleted: sha256:1fbdda78e87b76772be16bd4a745db7f95d9af70d5a3728260548380121ae711
Deleted: sha256:cd35e2328f0670969657f1abae8beffbc1eb1fddbaf667e1e6e6286598500a35
Deleted: sha256:068b92efc0504adcd3c23f16fde80775a2f4dfe485e242206f638eae72c4fa1b
Deleted: sha256:7c8818a166d9666c68fcdbe421c30568d60d51a505e540f42901664113047a75
Deleted: sha256:5aa8f65565168fd7db2aa6b9f8fb1db746aa598fa3854dcbdbb49d5a29f6d8a5
Deleted: sha256:cca9d1bafa1ee67bb4d7178732c0955a40a5dea6e5b989f61248984f26f7306b
Deleted: sha256:34ca91e79c4027120ca740231d415c739cccad57d1ee68d6a6e67ca60bbaf3a4
Deleted: sha256:7e718b9c0c8c2e6420fe9c4d1d551088e314fe923dce4b2caf75891d82fb227d
Untagged: hello-world:latest
Untagged: hello-world@sha256:f2266cbfc127c960fd30e76b7c792dc23b588c0db76233517e1891a4e357d519
Deleted: sha256:d1165f2212346b2bab48cb01c1e39ee8ad1be46b87873d9ca7a4e434980a7726

3、容器命令

新建容器并启动镜像

 docker run [可选参数] image
#参数说明
--name="name" 容器的名,任意取,主要是用来区分容器
-d			  后台方式启动
-it			  交互方式启动,启动后进入容器
-p			 指点容器的端口
	-p ip:主机端口:容器端口
	-p 主机端口:容器端口(使用最多)
	-p 容器端口
-P			 随机指点端口

#测试
[root@izbp1doatyz9rmpmxs06naz ~]# docker run -it centos /bin/bash
[root@e0b7620eb865 /]# ls
bin  etc   lib	  lost+found  mnt  proc  run   srv  tmp  var
dev  home  lib64  media       opt  root  sbin  sys  usr
#从容器中退回宿主机
[root@e0b7620eb865 /]# exit
exit
[root@izbp1doatyz9rmpmxs06naz ~]#


docker ps 查看正在运行的容器

#docker ps [可选参数]
	#列出当前正在运行的容器
-a	#列出当前正在运行的容器和之前运行过的容器
-n=#列出最近创建的?个容器
-q	#只显示容器编号

[root@izbp1doatyz9rmpmxs06naz ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@izbp1doatyz9rmpmxs06naz ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND         CREATED          STATUS                      PORTS     NAMES
e0b7620eb865   centos         "/bin/bash"     7 minutes ago    Exited (0) 5 minutes ago              frosty_swanson
2ba95d8ae20b   centos         "/bin/centos"   7 minutes ago    Created                               determined_dubinsky
9c5505e3c614   d1165f221234   "/hello"        54 minutes ago   Exited (0) 54 minutes ago             pensive_wu

退出容器

#退出并停止
exit
#退出容器继续运行
ctrl+P+Q

docker rm 删除容器

docker rm 容器id 	#删除指点的容器,不能删除正在运行的容器,如果要强制删除加 -f
docker rm -f $(docker ps -aq)	#删除所有容器
docker ps -a -q|xzrgs docker rm	#删除所有容器

容器启动和停止操作

docker start 容器id	#启动容器
docker restart 容器id	#重启容器
docker stop 容器id	#停止当前正在运行的容器
docker kill 容器id 	#强制停止当前容器

4、常用的其他命令

后台启动容器

# docker run -d 镜像名
[root@izbp1doatyz9rmpmxs06naz ~]# docker run -d centos
0e749b886d65221ec8aefed414f9f3e7c7a8a137852ffbe37bb19ece46301ca0
[root@izbp1doatyz9rmpmxs06naz ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
#注意:后台方式启动容器,由于没有客户端,就会默认关闭。当使用docker ps查看当前正在运行的容器时,后台启动的容器已经停止。

docker logs查看日志

#docker logs -f -t --tall 10  容器
-tf 		#显示日志
--tail number  #number 表示要显示的日志条数

查看容器中的进程信息

# docker top 容器id
[root@izbp1doatyz9rmpmxs06naz ~]# docker top b036d2f50c7e
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                12111               12058               0                   22:48               pts/0               00:00:00            /bin/bash

查看镜像元素

# docker inspect 容器id
[root@izbp1doatyz9rmpmxs06naz ~]# docker inspect b036d2f50c7e
[
    {
        "Id": "b036d2f50c7e3a16782d46c5144e204b20c2b4eb499357d9c6dd00663e559c4f",
        "Created": "2021-04-16T14:48:13.627920583Z",
        "Path": "/bin/bash",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 12111,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2021-04-16T14:48:13.90601888Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:300e315adb2f96afe5f0b2780b87f28ae95231fe3bdd1e16b9ba606307728f55",
        "ResolvConfPath": "/var/lib/docker/containers/b036d2f50c7e3a16782d46c5144e204b20c2b4eb499357d9c6dd00663e559c4f/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/b036d2f50c7e3a16782d46c5144e204b20c2b4eb499357d9c6dd00663e559c4f/hostname",
        "HostsPath": "/var/lib/docker/containers/b036d2f50c7e3a16782d46c5144e204b20c2b4eb499357d9c6dd00663e559c4f/hosts",
        "LogPath": "/var/lib/docker/containers/b036d2f50c7e3a16782d46c5144e204b20c2b4eb499357d9c6dd00663e559c4f/b036d2f50c7e3a16782d46c5144e204b20c2b4eb499357d9c6dd00663e559c4f-json.log",
        "Name": "/frosty_gagarin",
        "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/4f87e5486f8328b5d83f13462ba89461ada5a45f304f47afd4483e57a61e57f3-init/diff:/var/lib/docker/overlay2/e8995a45012a96df4b82e0128c2bdf8db3c3c45a3d738e4789a87b19adea9776/diff",
                "MergedDir": "/var/lib/docker/overlay2/4f87e5486f8328b5d83f13462ba89461ada5a45f304f47afd4483e57a61e57f3/merged",
                "UpperDir": "/var/lib/docker/overlay2/4f87e5486f8328b5d83f13462ba89461ada5a45f304f47afd4483e57a61e57f3/diff",
                "WorkDir": "/var/lib/docker/overlay2/4f87e5486f8328b5d83f13462ba89461ada5a45f304f47afd4483e57a61e57f3/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [],
        "Config": {
            "Hostname": "b036d2f50c7e",
            "Domainname": "",
            "User": "",
            "AttachStdin": true,
            "AttachStdout": true,
            "AttachStderr": true,
            "Tty": true,
            "OpenStdin": true,
            "StdinOnce": true,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/bash"
            ],
            "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": "51bc082c6c0e4190c7f211b07de4f4578862e29851b358b7d5f901b717d916dc",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/var/run/docker/netns/51bc082c6c0e",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "d33ad82c1b5ccbd7281d9b50c3155364be8640067ecfb5df1d7e29a5cab222e4",
            "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": "d34453a0b9284337290b54d39b9960b1eac0385699c78ca71552ccdb6b5fc30c",
                    "EndpointID": "d33ad82c1b5ccbd7281d9b50c3155364be8640067ecfb5df1d7e29a5cab222e4",
                    "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
                }
            }
        }
    }
]

进入当前正在运行的容器

# docker exec -it 容器id /bin/bash
[root@izbp1doatyz9rmpmxs06naz ~]# docker exec -it b036d2f50c7e /bin/bash
[root@b036d2f50c7e /]# 

# docker attach 容器id
[root@izbp1doatyz9rmpmxs06naz ~]# docker attach b036d2f50c7e
[root@b036d2f50c7e /]# 

#两者区别
#docker exec #进入容器后开启一个新的终端,在里面进行操作
#docker attach #进入容器正在执行的终端,不会启动新的进程

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

docker cp 容器id:容器内路径	宿主机路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值