当前位置: 首页 > news >正文

【Docker】Docker常用命令

帮助启动类命令

启动docker

systemctl start docker

停止docker

systemctl stop docker

重启docker

systemctl restart docker

查看docker状态

systemctl status docker[root@192 ~]# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)Active: active (running) since Wed 2023-04-05 03:15:27 PDT; 2h 50min agoDocs: https://docs.docker.comMain PID: 57020 (dockerd)Tasks: 9Memory: 26.8MCGroup: /system.slice/docker.service└─57020 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sockApr 05 03:17:13 192.168.12.130 dockerd[57020]: time="2023-04-05T03:17:13.108401248-07:00" level=warning msg="Error getting v2 registry: Get \"https://registry-1.docker.io/v2/...ng headers)"
Apr 05 03:17:13 192.168.12.130 dockerd[57020]: time="2023-04-05T03:17:13.108437677-07:00" level=info msg="Attempting next endpoint for pull after error: Get \"https://registr...ng headers)"
Apr 05 03:17:13 192.168.12.130 dockerd[57020]: time="2023-04-05T03:17:13.139117872-07:00" level=error msg="Handler for POST /v1.42/images/create returned error: Get \"https:/...ng headers)"
Apr 05 03:20:45 192.168.12.130 dockerd[57020]: time="2023-04-05T03:20:45.052387199-07:00" level=warning msg="Error getting v2 registry: Get \"https://k8s.gcr.io/v2/\": net/ht...ng headers)"
Apr 05 03:20:45 192.168.12.130 dockerd[57020]: time="2023-04-05T03:20:45.053131992-07:00" level=info msg="Attempting next endpoint for pull after error: Get \"https://k8s.gcr...ng headers)"
Apr 05 03:20:45 192.168.12.130 dockerd[57020]: time="2023-04-05T03:20:45.102424271-07:00" level=error msg="Handler for POST /v1.42/images/create returned error: Get \"https:/...ng headers)"
Apr 05 03:24:00 192.168.12.130 dockerd[57020]: time="2023-04-05T03:24:00.307055426-07:00" level=info msg="ignoring event" container=2a8d6b1719d26e4d0b208790f6a1275320c71debd9....TaskDelete"
Apr 05 05:40:43 192.168.12.130 dockerd[57020]: time="2023-04-05T05:40:43.561690199-07:00" level=info msg="ignoring event" container=3808c4f7832a1c6bf40b88b4928aff50d16c021332....TaskDelete"
Apr 05 05:43:03 192.168.12.130 dockerd[57020]: time="2023-04-05T05:43:03.957113181-07:00" level=info msg="ignoring event" container=8256fa646d23b57f951e88b4384df92abfa863d03e....TaskDelete"
Apr 05 05:43:11 192.168.12.130 dockerd[57020]: time="2023-04-05T05:43:11.234024028-07:00" level=info msg="ignoring event" container=b3a5800afb4402e7c22276ebaecfe4172fae70cd59....TaskDelete"
Hint: Some lines were ellipsized, use -l to show in full.

开机启动

systemctl enable docker[root@192 ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

查看docker概要信息

docker info[root@192 ~]# docker info
Client:Context:    defaultDebug Mode: falsePlugins:buildx: Docker Buildx (Docker Inc.)Version:  v0.10.4Path:     /usr/libexec/docker/cli-plugins/docker-buildxcompose: Docker Compose (Docker Inc.)Version:  v2.17.2Path:     /usr/libexec/docker/cli-plugins/docker-composeServer:Containers: 4Running: 0Paused: 0Stopped: 4Images: 2Server Version: 23.0.3Storage Driver: overlay2Backing Filesystem: xfsSupports d_type: trueUsing metacopy: falseNative Overlay Diff: trueuserxattr: falseLogging Driver: json-fileCgroup Driver: cgroupfsCgroup Version: 1Plugins:Volume: localNetwork: bridge host ipvlan macvlan null overlayLog: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslogSwarm: inactiveRuntimes: io.containerd.runc.v2 runcDefault Runtime: runcInit Binary: docker-initcontainerd version: 2806fc1057397dbaeefbea0e4e17bddfbd388f38runc version: v1.1.5-0-gf19387ainit version: de40ad0Security Options:seccompProfile: builtinKernel Version: 3.10.0-1160.el7.x86_64Operating System: CentOS Linux 7 (Core)OSType: linuxArchitecture: x86_64CPUs: 1Total Memory: 972.3MiBName: 192.168.12.130ID: ead60f7e-69ed-46e5-ac19-efbb42f7375eDocker Root Dir: /var/lib/dockerDebug Mode: falseRegistry: https://index.docker.io/v1/Experimental: falseInsecure Registries:127.0.0.0/8Registry Mirrors:https://pylcjgsv.mirror.aliyuncs.com/Live Restore Enabled: false

查看docker总体帮助文档

docker --help

查看docker命令帮助文档

docker 具体命令 --help[root@192 ~]# docker exec --helpUsage:  docker exec [OPTIONS] CONTAINER COMMAND [ARG...]Execute a command in a running containerAliases:docker container exec, docker execOptions:-d, --detach               Detached mode: run command in the background--detach-keys string   Override the key sequence for detaching a container-e, --env list             Set environment variables--env-file list        Read in a file of environment variables-i, --interactive          Keep STDIN open even if not attached--privileged           Give extended privileges to the command-t, --tty                  Allocate a pseudo-TTY-u, --user string          Username or UID (format: "<name|uid>[:<group|gid>]")-w, --workdir string       Working directory inside the container

镜像命令

docker images

说明:列出本地主机上的镜像

[root@192 ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
ubuntu        latest    ba6acccedd29   17 months ago   72.8MB
hello-world   latest    feb5d9fea6a5   18 months ago   13.3kB

各选项说明:

选项说明
REPOSITORY镜像的仓库源
TAG镜像的标签
IMAGE ID镜像ID
CREATED镜像创建时间
SIZE镜像大小

同一个仓库源可以有多个TAG版本,代表这个仓库源的不同版本,使用REPOSITORY:TAG表示版本。

参数:

-a:列出本地所有的镜像

-q:只显示镜像ID

[root@192 ~]# docker images -a
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
ubuntu        latest    ba6acccedd29   17 months ago   72.8MB
hello-world   latest    feb5d9fea6a5   18 months ago   13.3kB
[root@192 ~]# docker images -q
ba6acccedd29
feb5d9fea6a5

docker search

说明:查找某个镜像是否在远程仓库,后面+镜像名字

命令:

docker search [OPTIONS] 镜像名字
[root@192 ~]# docker search hello-world
NAME                                       DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
hello-world                                Hello World! (an example of minimal Dockeriz…   2006      [OK]       
rancher/hello-world                                                                        4                    
okteto/hello-world                                                                         0                    
golift/hello-world                         Hello World Go-App built by Go Lift Applicat…   0                    
tacc/hello-world                                                                           0                    
armswdev/c-hello-world                     Simple hello-world C program on Alpine Linux…   0                    
tutum/hello-world                          Image to test docker deployments. Has Apache…   90                   [OK]
thomaspoignant/hello-world-rest-json       This project is a REST hello-world API to bu…   2                    
kitematic/hello-world-nginx                A light-weight nginx container that demonstr…   153                  
dockercloud/hello-world                    Hello World!                                    20                   [OK]
ansibleplaybookbundle/hello-world-apb      An APB which deploys a sample Hello World! a…   1                    [OK]
ansibleplaybookbundle/hello-world-db-apb   An APB which deploys a sample Hello World! a…   2                    [OK]
crccheck/hello-world                       Hello World web server in under 2.5 MB          15                   [OK]
strimzi/hello-world-producer                                                               0                    
strimzi/hello-world-consumer                                                               0                    
businessgeeks00/hello-world-nodejs                                                         0                    
koudaiii/hello-world                                                                       0                    
freddiedevops/hello-world-spring-boot                                                      0                    
strimzi/hello-world-streams                                                                0                    
garystafford/hello-world                   Simple hello-world Spring Boot service for t…   0                    [OK]
ppc64le/hello-world                        Hello World! (an example of minimal Dockeriz…   2                    
tsepotesting123/hello-world                                                                0                    
kevindockercompany/hello-world                                                             0                    
dandando/hello-world-dotnet                                                                0                    
vad1mo/hello-world-rest                    A simple REST Service that echoes back all t…   5                    [OK]

各选项说明:

选项说明
NAME镜像名称
DESCRIPTION镜像说明
STARS点赞数量
OFFICIAL是否是官方的
AUTOMATED是否是自动构建的

参数:

–limit: 只列出N个镜像,默认为25个

示例:docker search --limit 5 redis

[root@192 ~]# docker search --limit 5 redis
NAME                     DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
redis                    Redis is an open source key-value store that…   11980     [OK]       
redislabs/redisearch     Redis With the RedisSearch module pre-loaded…   56                   
redislabs/redisinsight   RedisInsight - The GUI for Redis                82                   
redislabs/rebloom        A probablistic datatypes module for Redis       22                   [OK]
redislabs/redis          Clustered in-memory database engine compatib…   36                   

docker pull

说明:下载镜像

命令:

docker pull 镜像名字[:TAG] #加上了标签版本号,不加的话,是最新的
docker pull 镜像名字
[root@192 ~]# docker pull redis:6.0.8
6.0.8: Pulling from library/redis
bb79b6b2107f: Pull complete 
1ed3521a5dcb: Pull complete 
5999b99cee8f: Pull complete 
3f806f5245c9: Pull complete 
f8a4497572b2: Pull complete 
eafe3b6b8d06: Pull complete 
Digest: sha256:21db12e5ab3cc343e9376d655e8eabbdbe5516801373e95a8a9e66010c5b8819
Status: Downloaded newer image for redis:6.0.8
docker.io/library/redis:6.0.8
[root@192 ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
ubuntu        latest    ba6acccedd29   17 months ago   72.8MB
hello-world   latest    feb5d9fea6a5   18 months ago   13.3kB
redis         6.0.8     16ecd2772934   2 years ago     104MB

docker system df

说明:查看镜像/容器/数据卷所占的空间

docker system df

[root@192 ~]# docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          3         2         177MB     104.2MB (58%)
Containers      4         0         24B       24B (100%)
Local Volumes   0         0         0B        0B
Build Cache     0         0         0B        0B

docker rmi

说明:删除镜像

命令:

docker rmi 仓库名字/IMAGE ID

[root@192 ~]# docker rmi 16ecd2772934
Untagged: redis:6.0.8
Untagged: redis@sha256:21db12e5ab3cc343e9376d655e8eabbdbe5516801373e95a8a9e66010c5b8819
Deleted: sha256:16ecd277293476392b71021cdd585c40ad68f4a7488752eede95928735e39df4
Deleted: sha256:3746030fff867eb26a0338ad9d3ab832e6c19c7dc008090bcfa95c7b9f16f505
Deleted: sha256:1274ec54ad17d15ec95d2180cb1f791057e86dfcdfcc18cd58610a920e145945
Deleted: sha256:18d156147e54edec9a927080fdc0a53c4a8814b0c717b36dc62e637363c1a98d
Deleted: sha256:a8f09c4919857128b1466cc26381de0f9d39a94171534f63859a662d50c396ca
Deleted: sha256:2ae5fa95c0fce5ef33fbb87a7e2f49f2a56064566a37a83b97d3f668c10b43d6
Deleted: sha256:d0fe97fa8b8cefdffcef1d62b65aba51a6c87b6679628a2b50fc6a7a579f764c

强制删除单个:

docker rmi -f 仓库名字/IMAGE ID

[root@192 ~]# docker rmi ba6acccedd29
Error response from daemon: conflict: unable to delete ba6acccedd29 (must be forced) - image is being used by stopped container f37e6b1f5e57
[root@192 ~]# docker rmi -f ba6acccedd29
Untagged: ubuntu:latest
Untagged: ubuntu@sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Deleted: sha256:ba6acccedd2923aee4c2acc6a23780b14ed4b8a5fa4e14e252a23b846df9b6c1
[root@192 ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    feb5d9fea6a5   18 months ago   13.3kB

强制删除多个:

docker rmi -f 镜像名1:TAG 镜像名2:TAG

[root@192 ~]# docker rmi -f ba6acccedd29 feb5d9fea6a5
Untagged: ubuntu:latest
Untagged: ubuntu@sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Deleted: sha256:ba6acccedd2923aee4c2acc6a23780b14ed4b8a5fa4e14e252a23b846df9b6c1
Untagged: hello-world:latest
Untagged: hello-world@sha256:2498fce14358aa50ead0cc6c19990fc6ff866ce72aeb5546e1d59caac3d0d60f
Deleted: sha256:feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412

删除全部:

docker rmi -f $(docker images -qa)

[root@192 ~]# docker rmi -f $(docker images -qa)
Untagged: hello-world:latest
Untagged: hello-world@sha256:2498fce14358aa50ead0cc6c19990fc6ff866ce72aeb5546e1d59caac3d0d60f
Deleted: sha256:feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412

容器命令

有镜像,才能创建容器,这个是根本前提。

新建+启动容器

命令:

docker run [OPTIONS] IMAGE [COMMAND] [ARG……]

说明:

参数说明
–name=“容器新名字”为容器指定一个名字
-d后台运行容器并返回容器ID,即启动守护式容器
-i以交互模式运行容器,通常与-t同时使用
-t为容器重新分配一个伪终端,通常与-i同时使用
-P随机端口映射
-p指定端口映射
[root@192 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
ubuntu       latest    ba6acccedd29   17 months ago   72.8MB[root@192 ~]# docker run -it ba6acccedd29 bash
root@abdd8899ef5d:/# ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 14:01 pts/0    00:00:00 bash
root          9      1  0 14:02 pts/0    00:00:00 ps -ef
root@abdd8899ef5d:/# 

列出当前所有正在运行的容器

命令:

docker ps [OPTIONS]

[root@192 ~]# docker ps
CONTAINER ID   IMAGE          COMMAND   CREATED         STATUS         PORTS     NAMES
abdd8899ef5d   ba6acccedd29   "bash"    3 minutes ago   Up 3 minutes             determined_easley

参数说明:

-a:列出所有正在运行的容器,以及历史上运行过个

-l:显示最近创建的容器

-n:显示最近n个创建的容器

-q:只显示容器编号

[root@192 ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND    CREATED             STATUS                           PORTS     NAMES
abdd8899ef5d   ba6acccedd29   "bash"     8 minutes ago       Up 8 minutes                               determined_easley
60f7e6ddbe31   ba6acccedd29   "bash"     11 minutes ago      Exited (0) 8 minutes ago                   kind_tharp
f37e6b1f5e57   ubuntu         "bash"     32 minutes ago      Exited (0) 32 minutes ago                  stoic_grothendieck
b3a5800afb44   ubuntu         "bash"     About an hour ago   Exited (130) About an hour ago             exciting_black
8256fa646d23   ubuntu         "bash"     About an hour ago   Exited (127) About an hour ago             lucid_wescoff
3808c4f7832a   feb5d9fea6a5   "/hello"   About an hour ago   Exited (0) About an hour ago               epic_chatelet
2a8d6b1719d2   feb5d9fea6a5   "/hello"   4 hours ago         Exited (0) 4 hours ago                     frosty_mcnulty
[root@192 ~]# docker ps -l
CONTAINER ID   IMAGE          COMMAND   CREATED         STATUS         PORTS     NAMES
abdd8899ef5d   ba6acccedd29   "bash"    8 minutes ago   Up 8 minutes             determined_easley
[root@192 ~]# docker ps -n 1
CONTAINER ID   IMAGE          COMMAND   CREATED         STATUS         PORTS     NAMES
abdd8899ef5d   ba6acccedd29   "bash"    9 minutes ago   Up 9 minutes             determined_easley
[root@192 ~]# docker ps -q
abdd8899ef5d

退出容器

两种退出方式:

exit:run进去容器,exit退出,容器停止

ctrl+p+q:run进去容器,ctrl+p+q退出,容器不停止

启动已经停止运行的容器

命令:

docker start 容器ID或容器名

[root@192 ~]# docker ps -n 2
CONTAINER ID   IMAGE          COMMAND       CREATED         STATUS                          PORTS     NAMES
cb0168fe2ff4   ba6acccedd29   "/bin/bash"   3 minutes ago   Up 3 minutes                              myu02
5442a45ff119   ba6acccedd29   "/bin/bash"   4 minutes ago   Exited (0) About a minute ago             myu01
[root@192 ~]# docker start 5442a45ff119
5442a45ff119
[root@192 ~]# docker ps 
CONTAINER ID   IMAGE          COMMAND       CREATED         STATUS          PORTS     NAMES
cb0168fe2ff4   ba6acccedd29   "/bin/bash"   4 minutes ago   Up 4 minutes              myu02
5442a45ff119   ba6acccedd29   "/bin/bash"   4 minutes ago   Up 11 seconds             myu01

重启容器

命令:

docker restart 容器ID或容器名

停止容器

命令:

docker stop 容器ID或容器名

强制停止容器

命令:

docker kill 容器ID或容器名

[root@192 ~]# docker ps 
CONTAINER ID   IMAGE          COMMAND       CREATED         STATUS          PORTS     NAMES
cb0168fe2ff4   ba6acccedd29   "/bin/bash"   4 minutes ago   Up 4 minutes              myu02
5442a45ff119   ba6acccedd29   "/bin/bash"   4 minutes ago   Up 11 seconds             myu01
[root@192 ~]# docker kill cb0168fe2ff4
cb0168fe2ff4
[root@192 ~]# docker ps 
CONTAINER ID   IMAGE          COMMAND       CREATED         STATUS              PORTS     NAMES
5442a45ff119   ba6acccedd29   "/bin/bash"   6 minutes ago   Up About a minute             myu01

删除已经停止的容器

命令:

docker rm 容器ID或容器名

[root@192 ~]# docker ps 
CONTAINER ID   IMAGE          COMMAND       CREATED         STATUS          PORTS     NAMES
cb0168fe2ff4   ba6acccedd29   "/bin/bash"   7 minutes ago   Up 32 seconds             myu02
5442a45ff119   ba6acccedd29   "/bin/bash"   8 minutes ago   Up 3 minutes              myu01[root@192 ~]# docker rm cb0168fe2ff4
Error response from daemon: You cannot remove a running container cb0168fe2ff48213c74a6c8f1e7739496280ff394395f3d22be19a948da535e1. Stop the container before attempting removal or force remove[root@192 ~]# docker stop cb0168fe2ff4
cb0168fe2ff4[root@192 ~]# docker rm cb0168fe2ff4
cb0168fe2ff4[root@192 ~]# docker ps
CONTAINER ID   IMAGE          COMMAND       CREATED         STATUS         PORTS     NAMES
5442a45ff119   ba6acccedd29   "/bin/bash"   8 minutes ago   Up 3 minutes             myu01[root@192 ~]# docker start cb0168fe2ff4
Error response from daemon: No such container: cb0168fe2ff4
Error: failed to start containers: cb0168fe2ff4

注意:先停止后删除,删除后无法start

强制删除

命令:

docker rm -f 容器ID或容器名

[root@192 ~]# docker ps
CONTAINER ID   IMAGE          COMMAND       CREATED          STATUS         PORTS     NAMES
5442a45ff119   ba6acccedd29   "/bin/bash"   10 minutes ago   Up 6 minutes             myu01
[root@192 ~]# docker rm -f 5442a45ff119
5442a45ff119
[root@192 ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

启动守护式容器(后台运行模式)

命令:

docker run -d 容器名

[root@192 ~]# docker run -d redis:6.0.8
95352021574c2e762d46e97a79cf00c851f6501b65dcd46e0ada7124b7dead64
[root@192 ~]# docker ps
CONTAINER ID   IMAGE         COMMAND                  CREATED         STATUS         PORTS      NAMES
95352021574c   redis:6.0.8   "docker-entrypoint.s…"   6 seconds ago   Up 5 seconds   6379/tcp   naughty_mccarthy

查看容器日志

命令:

docker logs 容器ID

[root@192 ~]# docker logs 95352021574c
1:C 05 Apr 2023 14:35:17.448 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 05 Apr 2023 14:35:17.448 # Redis version=6.0.8, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 05 Apr 2023 14:35:17.448 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
1:M 05 Apr 2023 14:35:17.449 * Running mode=standalone, port=6379.
1:M 05 Apr 2023 14:35:17.449 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
1:M 05 Apr 2023 14:35:17.450 # Server initialized
1:M 05 Apr 2023 14:35:17.450 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
1:M 05 Apr 2023 14:35:17.450 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo madvise > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled (set to 'madvise' or 'never').
1:M 05 Apr 2023 14:35:17.450 * Ready to accept connections

查看容器内运行的进程

命令:

docker top 容器ID

[root@192 ~]# docker top 95352021574c
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
polkitd             64794               64776               0                   07:35               ?                   00:00:00            redis-server *:6379

查看容器内部细节

命令:

docker inspect 容器ID

[root@192 ~]# docker inspect 95352021574c
[{"Id": "95352021574c2e762d46e97a79cf00c851f6501b65dcd46e0ada7124b7dead64","Created": "2023-04-05T14:35:16.918978317Z","Path": "docker-entrypoint.sh","Args": ["redis-server"],"State": {"Status": "running","Running": true,"Paused": false,"Restarting": false,"OOMKilled": false,"Dead": false,"Pid": 64794,"ExitCode": 0,"Error": "","StartedAt": "2023-04-05T14:35:17.418246839Z","FinishedAt": "0001-01-01T00:00:00Z"},"Image": "sha256:16ecd277293476392b71021cdd585c40ad68f4a7488752eede95928735e39df4","ResolvConfPath": "/var/lib/docker/containers/95352021574c2e762d46e97a79cf00c851f6501b65dcd46e0ada7124b7dead64/resolv.conf","HostnamePath": "/var/lib/docker/containers/95352021574c2e762d46e97a79cf00c851f6501b65dcd46e0ada7124b7dead64/hostname","HostsPath": "/var/lib/docker/containers/95352021574c2e762d46e97a79cf00c851f6501b65dcd46e0ada7124b7dead64/hosts","LogPath": "/var/lib/docker/containers/95352021574c2e762d46e97a79cf00c851f6501b65dcd46e0ada7124b7dead64/95352021574c2e762d46e97a79cf00c851f6501b65dcd46e0ada7124b7dead64-json.log","Name": "/naughty_mccarthy","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,"ConsoleSize": [38,189],"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","Isolation": "","CpuShares": 0,"Memory": 0,"NanoCpus": 0,"CgroupParent": "","BlkioWeight": 0,"BlkioWeightDevice": [],"BlkioDeviceReadBps": [],"BlkioDeviceWriteBps": [],"BlkioDeviceReadIOps": [],"BlkioDeviceWriteIOps": [],"CpuPeriod": 0,"CpuQuota": 0,"CpuRealtimePeriod": 0,"CpuRealtimeRuntime": 0,"CpusetCpus": "","CpusetMems": "","Devices": [],"DeviceCgroupRules": null,"DeviceRequests": null,"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/88cf6aab31d7760dceea5bf0db63702ccfefaf46724af20de31638b70f4aa5f5-init/diff:/var/lib/docker/overlay2/02928ca73709c53f403e0006443e01e4efe349160ad7105044c3affaddf05829/diff:/var/lib/docker/overlay2/8e7280e3826c7b37086d4b15df31ae9277e0e136bad018e5c6fba14039fe3e0c/diff:/var/lib/docker/overlay2/500312f0cdc1f41538b6ef59e50ac8512fa72e1f1d73b4b731f6e1216b80213f/diff:/var/lib/docker/overlay2/10a8d0bce4f296db22afd4a42cdb960074657ed4cb6d8b9bb02357e0d2a75f97/diff:/var/lib/docker/overlay2/db108b049ed4ad7619698ee371745ad669dc8117da6ef97cd1a800a3ce4091fb/diff:/var/lib/docker/overlay2/0e1d9dade46f0eee9e29bbe4defd41880380a8b229a5355e08b89e27117b4d52/diff","MergedDir": "/var/lib/docker/overlay2/88cf6aab31d7760dceea5bf0db63702ccfefaf46724af20de31638b70f4aa5f5/merged","UpperDir": "/var/lib/docker/overlay2/88cf6aab31d7760dceea5bf0db63702ccfefaf46724af20de31638b70f4aa5f5/diff","WorkDir": "/var/lib/docker/overlay2/88cf6aab31d7760dceea5bf0db63702ccfefaf46724af20de31638b70f4aa5f5/work"},"Name": "overlay2"},"Mounts": [{"Type": "volume","Name": "7174544cb6bb449106ae1dc520d82f04391cdecf687a2acc6f3c5615e644c076","Source": "/var/lib/docker/volumes/7174544cb6bb449106ae1dc520d82f04391cdecf687a2acc6f3c5615e644c076/_data","Destination": "/data","Driver": "local","Mode": "","RW": true,"Propagation": ""}],"Config": {"Hostname": "95352021574c","Domainname": "","User": "","AttachStdin": false,"AttachStdout": false,"AttachStderr": false,"ExposedPorts": {"6379/tcp": {}},"Tty": false,"OpenStdin": false,"StdinOnce": false,"Env": ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","GOSU_VERSION=1.12","REDIS_VERSION=6.0.8","REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-6.0.8.tar.gz","REDIS_DOWNLOAD_SHA=04fa1fddc39bd1aecb6739dd5dd73858a3515b427acd1e2947a66dadce868d68"],"Cmd": ["redis-server"],"Image": "redis:6.0.8","Volumes": {"/data": {}},"WorkingDir": "/data","Entrypoint": ["docker-entrypoint.sh"],"OnBuild": null,"Labels": {}},"NetworkSettings": {"Bridge": "","SandboxID": "47fb2f1a25b6dbed137769fda0f22bc29a19920e50214312a8ab8d1b4b59c59a","HairpinMode": false,"LinkLocalIPv6Address": "","LinkLocalIPv6PrefixLen": 0,"Ports": {"6379/tcp": null},"SandboxKey": "/var/run/docker/netns/47fb2f1a25b6","SecondaryIPAddresses": null,"SecondaryIPv6Addresses": null,"EndpointID": "57aeafe68a50a20c34678f1a7995898b576289356e8178ddc5ce42fc0ebba998","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": "e2c3a0acf795936bd3c61ae5cf9e50b8cfafbcf995c04575c0a6881176fd13ca","EndpointID": "57aeafe68a50a20c34678f1a7995898b576289356e8178ddc5ce42fc0ebba998","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@192 ~]# docker run -it ubuntu /bin/bash
root@cf732f2f4d77:/# 
root@cf732f2f4d77:/# [root@192 ~]# 
[root@192 ~]# docker ps
CONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS          PORTS      NAMES
cf732f2f4d77   ubuntu        "/bin/bash"              18 seconds ago   Up 17 seconds              youthful_bell
95352021574c   redis:6.0.8   "docker-entrypoint.s…"   8 minutes ago    Up 8 minutes    6379/tcp   naughty_mccarthy
[root@192 ~]# docker exec -it cf732f2f4d77 /bin/bash
root@cf732f2f4d77:/# 

exec是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器的停止。

[root@192 ~]# docker exec -it cf732f2f4d77 /bin/bash[root@192 ~]# docker ps
CONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS          PORTS      NAMES
cf732f2f4d77   ubuntu        "/bin/bash"              4 minutes ago    Up 25 seconds              youthful_bell
95352021574c   redis:6.0.8   "docker-entrypoint.s…"   13 minutes ago   Up 13 minutes   6379/tcp   naughty_mccarthyroot@cf732f2f4d77:/# exit
exit[root@192 ~]# docker ps
CONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS          PORTS      NAMES
cf732f2f4d77   ubuntu        "/bin/bash"              4 minutes ago    Up 25 seconds              youthful_bell
95352021574c   redis:6.0.8   "docker-entrypoint.s…"   13 minutes ago   Up 13 minutes   6379/tcp   naughty_mccarthy

命令二:

docker attach 容器ID

root@cf732f2f4d77:/# read escape sequence
[root@192 ~]# docker ps
CONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS          PORTS      NAMES
cf732f2f4d77   ubuntu        "/bin/bash"              2 minutes ago    Up 2 minutes               youthful_bell
95352021574c   redis:6.0.8   "docker-entrypoint.s…"   10 minutes ago   Up 10 minutes   6379/tcp   naughty_mccarthy
[root@192 ~]# docker attach -it cf732f2f4d77 /bin/bash
unknown shorthand flag: 'i' in -it
See 'docker attach --help'.
[root@192 ~]# docker attach cf732f2f4d77
root@cf732f2f4d77:/# 

attach是直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器的停止。

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

命令:

docker cp 容器ID:容器内路径 目的主机路径

[root@192 ~]# docker cp 3bfff26b9e08:/tmp/a.txt /tmp/a.txt
Successfully copied 1.536kB to /tmp/a.txt
[root@192 ~]# cd /tmp
[root@192 tmp]# ll
total 220
-rw-r--r--. 1 root    root         0 Apr  5 07:55 a.txt

导入和导出容器

export:导出容器的内容左右一个tar归档文件,对应import命令:docker export 容器ID > 文件名.tar

import:从tar包中的内容创建一个新的文件系统再导入为镜像,对应export:cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号

[root@192 tmp]# docker export 769449ef2e46 > kd.tar
[root@192 tmp]# ll
total 73616
-rw-r--r--. 1 root    root    75157504 Apr  5 07:59 kd.tar
[root@192 tmp]# cat kd.tar | docker import - kd/u01:1
sha256:6c4d11c17d23810399791fecb4d7d66a6273cc3e97e18101edd3890ad84919b2
[root@192 tmp]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
kd/u01       1         6c4d11c17d23   4 seconds ago   72.8MB
kd/ubuntu    3.7       a0051a6ca222   5 minutes ago   72.8MB
ubuntu       latest    ba6acccedd29   17 months ago   72.8MB
redis        6.0.8     16ecd2772934   2 years ago     104MB
[root@192 tmp]# docker run -it 6c4d11c17d23 /bin/bash
root@274514d0e567:/# cd /tmp
root@274514d0e567:/tmp# ll
total 0
drwxrwxrwt. 2 root root 20 Apr  5 15:03 ./
drwxr-xr-x. 1 root root  6 Apr  5 15:06 ../
-rw-r--r--. 1 root root  0 Apr  5 15:03 kd.txt

面试题

docker虚悬镜像是什么?

仓库名、标签都是的镜像,称为虚悬镜像,dangling image。

工作中没有什么作用,需删除。

相关文章:

【Docker】Docker常用命令

帮助启动类命令 启动docker systemctl start docker停止docker systemctl stop docker重启docker systemctl restart docker查看docker状态 systemctl status docker[root192 ~]# systemctl status docker ● docker.service - Docker Application Container EngineLoaded…...

【linux基础】7.linux系统自定义应用名和应用图标

"懦弱之人毫无价值"1. 做应用和图标1.1.测试和加入侧边栏3. 命令行重命名唤醒任务叙述&#xff1a;有一个x.sh文件可以在命令行执行,sh x.sh&#xff0c;这样太麻烦。 将其做成app且配上logo&#xff0c;下次直接点击使用将其路径全名重命名&#xff0c;可以直接用重…...

10.网络爬虫—MongoDB详讲与实战

网络爬虫—MongoDB详讲与实战MongoDBMongoDB安装创建数据目录1.数据库操作2.集合操作3.文档操作4.索引操作5.聚合操作6.备份与恢复MongoDB增删改查mongodb集合的增删改查数据插入到表数据的查看删除数据更新数据PyMongo连接数据库第二步 选择需要使用的数据库和集合PyMongo增删…...

C4D -> Three.js资产制作与导入流程

这篇文章介绍从 Cinema 4D 中的 UV 模型到用于 Three.js 的 .glb/.gltf 资产和纹理的整个过程&#xff0c;该网格将依赖 MeshStandardMaterial 来复制你在 Redshift 中看到的内容&#xff0c; 没有由 Three.js 处理的任何照明。 推荐&#xff1a;用 NSDT场景设计器 快速搭建3D场…...

【博学谷学习记录】大数据课程-学习十三周总结

Hive的交互方式 第一种交互方式&#xff1a;bin/hive hive 创建一个数据库 create database mytest; show databases; 第二种交互方式&#xff1a;使用sql语句或者sql脚本进行交互 不进入hive的客户端直接执行hive的hql语句 hive -e “create database mytest2” 或者我们…...

Spring Cloud快速入门

文章目录Spring Cloud快速入门一、基础概念1、微服务架构2、微服务技术栈3、什么是Spring Cloud?4、Spring Cloud和Spring Boot的联系&#xff1f;5、比较成熟的互联网架构二、Rest环境搭建1、搭建提供者1.1、创建一个父工程1.2、创建一个springcloud-api模块1.3、创建一个spr…...

论文学习——VideoGPT

论文学习——VideoGPT: Video Generation using VQ-VAE and Transformers 原文链接&#xff1a;https://arxiv.org/abs/2104.10157 1. 设计思路 不同种类的生成模型在一下多个维度各有权衡&#xff1a;采样速度、样本多样性、样本质量、优化稳定性、计算需求、评估难易程度等…...

Flutter系列(五)底部导航详解

Flutter系列&#xff08;四&#xff09;底部导航顶部导航图文列表完整代码&#xff0c;如下&#xff1a; Flutter系列&#xff08;四&#xff09;底部导航顶部导航图文列表完整代码_摸金青年v的博客-CSDN博客 目录 一、前言 二、Scaffold组件 三、BottomNavigationBar组件 …...

『pyqt5 从0基础开始项目实战』02. 页面布局设计(保姆级图文)

目录弹性布局介绍导包和框架代码布局框架搭建1. 总体布局框架2. 顶部菜单布局3. form添加内容布局4. table数据展示布局5. footer底部菜单完整项目代码总结欢迎关注 『pyqt5 从0基础开始项目实战』 专栏&#xff0c;持续更新中 欢迎关注 『pyqt5 从0基础开始项目实战』 专栏&am…...

【Python机器学习】——平均中位数模式

Python机器学习——平均中位数模式 文章目录 Python机器学习——平均中位数模式一、Python 平均中位数模式一、Python 平均中位数模式 均值、中值和众数 从一组数字中我们可以学到什么? 在机器学习(和数学)中,通常存在三中我们感兴趣的值: 均值(Mean) - 平均值 中值(M…...

Windows窗口

Windows窗口 Unit01注册窗口类 01窗口类的概念 窗口类是包括了窗口的各种参数信息的数据结构每个窗口都具有窗口类&#xff0c;基于窗口类创建窗口每个窗口都具有一个名称&#xff0c;使用前必须注册到系统 02窗口类的分类 系统窗口类 系统已经定义好的窗口类&#xff0c;…...

Spring Transaction 源码解读

Spring Transaction 规范的maven坐标如下&#xff1a; <dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>...</version></dependency>该包提供了spring事务规范和默认的jta(ja…...

[Netty] Channel和ChannelFuture和ChannelFutureListener (六)

文章目录1.Channel介绍2.ChannelFuture接口介绍3.GenericFutureListener接口介绍1.Channel介绍 NIO的Channel与Netty的Channel 不一样 Netty重新设计了Channel接口,并且给予了很多不同的实现, Channel是Netty网络的抽象类, 除了NIO中Channel所包含的网络I/O操作, 主动建立和关…...

条件渲染

组件经常需要根据不同条件显示不同内容。在React中&#xff0c;你可以使用类似于if语句、&&和?:运算符的JavaScript语法有条件地呈现JSX。你将学到&#xff1a;如何根据条件返回不同的JSX如何有条件地包含或排除一段JSX在React代码库中常见的条件语法快捷方式有条件地…...

springboot(10)异步任务

文章目录1、SpringBoot异步任务1.1使用注解EnableAsync开启异步任务支持1.2使用Async注解标记要进行异步执行的方法1.3controller测试2.异步任务相关限制3.1自定义 Executor3.1.1应用层级&#xff1a;3.1.2方法层级&#xff1a;3.2自定义 Executor (第二种方式)4.1异常处理4.1.…...

清华大学开源的chatGLM-6B部署实战

Windows部署 win10 通过wsl部署 常见问题: torch.cuda.OutOfMemoryError: CUDA out of memory. 在Windows的系统环境变量中增加 变量名:PYTORCH_CUDA_ALLOC_CONF 变量值:max_split_size_mb:32 文档书写时使用3090 24G显存配置,其他规格酌情调整 32 至其他值,如未设置变…...

通过矩阵从整体角度搞懂快速傅里叶变换原理

离散傅里叶变换公式 公式 f[k]∑n0N−1g[n]e−i(2π/N)kn,其中(0<n<N)f[k]\sum_{n0}^{N-1}g[n]e^{-i(2\pi/N)kn}, 其中(0<n<N) f[k]n0∑N−1​g[n]e−i(2π/N)kn,其中(0<n<N) 逆变换公式 g[n]1N∑k0N−1f[k]ei(2π/N)kn,其中(0<k<N)g[n]\frac{1}{N}\…...

【C++从0到1】25、C++中嵌套使用循环

C从0到1全系列教程 1、实例代码 #include <iostream> // 包含头文件。 using namespace std; // 指定缺省的命名空间。int main() {// 超女分4个小组&#xff0c;每个小组有3名超女&#xff0c;在控制台显示每个超女的小组编号和组内编号。// 用一个循环…...

FastDFS与Nginx结合搭建文件服务器,并内网穿透实现公网访问

文章目录前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.1 …...

密集场景下的行人跟踪替代算法,头部跟踪算法 | CVPR 2021

一个不知名大学生&#xff0c;江湖人称菜狗 original author: Jacky LiEmail : 3435673055qq.com Time of completion&#xff1a;2023.4.8 Last edited: 2023.4.8 目录 摘要 主要内容 结果 这篇文章是CVPR 2021 的最新论文&#xff0c;文章的标题&#xff1a; 文章的主要内…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

R语言速释制剂QBD解决方案之三

本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...

C++_哈希表

本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、基础概念 1. 哈希核心思想&#xff1a; 哈希函数的作用&#xff1a;通过此函数建立一个Key与存储位置之间的映射关系。理想目标&#xff1a;实现…...

leetcode73-矩阵置零

leetcode 73 思路 记录 0 元素的位置&#xff1a;遍历整个矩阵&#xff0c;找出所有值为 0 的元素&#xff0c;并将它们的坐标记录在数组zeroPosition中置零操作&#xff1a;遍历记录的所有 0 元素位置&#xff0c;将每个位置对应的行和列的所有元素置为 0 具体步骤 初始化…...

Tauri2学习笔记

教程地址&#xff1a;https://www.bilibili.com/video/BV1Ca411N7mF?spm_id_from333.788.player.switch&vd_source707ec8983cc32e6e065d5496a7f79ee6 官方指引&#xff1a;https://tauri.app/zh-cn/start/ 目前Tauri2的教程视频不多&#xff0c;我按照Tauri1的教程来学习&…...

简约商务通用宣传年终总结12套PPT模版分享

IOS风格企业宣传PPT模版&#xff0c;年终工作总结PPT模版&#xff0c;简约精致扁平化商务通用动画PPT模版&#xff0c;素雅商务PPT模版 简约商务通用宣传年终总结12套PPT模版分享:商务通用年终总结类PPT模版https://pan.quark.cn/s/ece1e252d7df...