Docker部署及基础用法

Docker 事件状态


在这里插入图片描述

Docker常用操作


| 命令 | 功能 |

| :-- | :-- |

| docker search | 在Docker 中心搜索镜像 |

| docker pull | 从注册表中拉取镜像或存储库 |

| docker images | 镜像列表 |

| docker create | 创建一个新的容器 |

| docker start | 启动一个或多个停止的容器 |

| docker run | 在新容器中运行命令 |

| docker ps | 列表容器 |

| docker logs | 获取容器的日志 |

| docker restart | 重启一个容器 |

| docker stop | 停止一个或多个正在运行的容器 |

| docker kill | 杀死一个或多个正在运行的容器 |

| docker rm | 移除一个或多个容器 |

| docker exec | 在正在运行的容器中运行命令 |

| docker info | 显示整个系统的信息 |

| docker attach | 连接到正在运行的容器(进入容器;前台运行,退出则容器停止) |

| docker inspect | 返回Docker对象的详细信息(进入容器;退出容器不会停止) |

案例


docker search

搜索镜像

[root@localhost ~]# docker search kali

NAME DESCRIPTION STARS OFFICIAL AUTOMATED

kalilinux/kali-rolling Official Kali Linux Docker image (weekly sna… 358

kalilinux/kali Image built from the last snapshot of the of… 98

linuxkonsult/kali-metasploit Kali base image with metasploit 71 [OK]

kalilinux/kali-bleeding-edge Same as kali-rolling with kali-bleeding-edge… 35

booyaabes/kali-linux-full Kali image with kali-linux-full metapackage … 31 [OK]

jasonchaffee/kali-linux Kali Linux Docker Container with the kali-li… 21 [OK]

lukaszlach/kali-desktop Kali Linux desktop running in Docker on any … 18 [OK]

donaldrich/kali-linux Multi-arch Kali-rolling base image with kali… 16

brimstone/kali Image for various bits of Kali Linux 11 [OK]

toolisticon/kalilinux Kali Linux (full package) 8 [OK]

kalinon/comicstreamer ComicStreamer is a media server app for shar… 4 [OK]

isaudits/kali Kali Linux with installed toolset; separate … 3

kalilinux/kali-experimental Image built from the kali-dev + kali-experim… 2

kalilinux/kali-dev Image built from the kali-dev development re… 2

thomasleplus/kali Kali Linux as a docker container. 2

kalisio/kano Kano Application 1

blairy/kali_patched Fully patched Kali Docker Image. 0

artis3n/kali Source + Readme: https://github.com/artis3n/… 0

haraldaarz/kali_xfce_top10 Kali with xfce, and kali-tools-top10. Used i… 0

kalisio/kapp Kalisio application template 0

pant/kali Clean Kali Installation-Update from official… 0

kaliti/kaliti This container is used to run bitbucket pipe… 0

kalisio/aktnmap Akt’n’Map application 0

chiphwang/kali_metasploit_msfconsole 0

pidof/kalister kali linux … updating to my personal env a… 0

docker pull

从Registry仓库中下载镜像

[root@localhost ~]# docker pull httpd

Using default tag: latest

latest: Pulling from library/nginx

eff15d958d66: Pull complete

1e5351450a59: Pull complete

2df63e6ce2be: Pull complete

9171c7ae368c: Pull complete

020f975acd28: Pull complete

266f639b35ad: Pull complete

Digest: sha256:097c3a0913d7e3a5b01b6c685a60c03632fc7a2b50bc8e35bcaa3691d788226e

Status: Downloaded newer image for nginx:latest

docker.io/library/nginx:latest

docker images

显示镜像列表

[root@localhost ~]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

httpd latest ad17c88403e2 12 days ago 143MB

docker create

创建容器

[root@localhost ~]# docker create nginx

599606d03bf31b19ac13e3507f94949e26fcf3531b683acd2345b188e4679478

[root@localhost ~]# docker create httpd

Unable to find image ‘httpd:latest’ locally

latest: Pulling from library/httpd

eff15d958d66: Already exists

ba1caf8ba86c: Pull complete

ab86dc02235d: Pull complete

0d58b11d2867: Pull complete

e88da7cb925c: Pull complete

Digest: sha256:1d71eef54c08435c0be99877c408637f03112dc9f929fba3cccdd15896099b02

Status: Downloaded newer image for httpd:latest

aa20e785c44ffb1e1640607a28900c1053561e07da493d2005eed57140c1b22d

docker ps

查看本地容器进程

docker ps #查看容器运行状态

选项:

-a #显示所有的容器,包括未运行的

-q #只显示容器id

-l #显示最近创建的容器。

-f “筛选条件” #根据条件过滤显示的内容

示例:

[root@localhost ~]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

[root@localhost ~]# docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

599606d03bf3 nginx “/docker-entrypoint.…” 58 seconds ago Created silly_hawking

8a279920b42e nginx “/docker-entrypoint.…” 2 hours ago Created nginx01

CONTAINER ID #容器 ID

IMAGE #使用的镜像

COMMAND #启动容器时运行的命令

CREATED #容器的创建时间

STATUS #容器状态

状态有7种:

created(已创建)

restarting(重启中)

running(运行中)

removing(迁移中)

paused(暂停)

exited(停止)

dead(死亡)

PORTS #容器的端口信息和使用的连接类型(tcp\udp)。

NAMES #容器名称

docker run

容器启动

docker run 选项 容器 命令

选项:

–name #指定容器的名称,如果不指定随机给容器生成一个名称

-i #启动一个可交互容器,并持续打开标准输出

-t #表示使用终端关联到容器的标准输入输出上

-d #将容器放在后台执行

-rm #删除容器

-p 宿主机端口:容器端口 #将宿主机端口映射给容器端口

-v 宿主机目录:容器目录 #将宿主机目录挂载到容器中

示例:

//使用nginx镜像启动一个名为nginx01的容器

[root@loclhost ~]# docker run --name nginx01 nginx

…略…

//使用nginx镜像启动一个名为nginx01的容器并分配一个bash shell的终端进入容器

[root@localhost ~]# docker run -it nginx01 /bin/bash

root@78a11416ecae:/# exit

exit

注意:

1.指定-it选项为容器分配shell后,启动容器时运行的命令将会被shell替代

2.不加-d选项的容器一旦使用exit退出容器shell,容器就终止运行;ctrl+p+q可以退出shell,容器仍将继续运行

//使用nginx镜像启动一个名为nginx02的容器并在后台运行

[root@localhost ~]# docker run --name nginx02 -d nginx

5917c71a32ad685cf0227906097b2aaa894013af5a71ec2ac3effc6e225405e6

//查看所有容器状态

[root@localhost ~]# docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

e6ad39814957 httpd “httpd-foreground” 3 minutes ago Up 3 minutes 0.0.0.0:8080->80/tcp, :::8080->80/tcp httpd01

5917c71a32ad nginx “/docker-entrypoint.…” 5 minutes ago Up 5 minutes 80/tcp nginx02

599606d03bf3 nginx “/docker-entrypoint.…” 26 minutes ago Created silly_hawking

8a279920b42e nginx “/docker-entrypoint.…” 2 hours ago Up 3 seconds 80/tcp nginx01

//停止容器

[root@localhost ~]# docker stop nginx01

nginx01

[root@localhost ~]# docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

8a279920b42e nginx “/docker-entrypoint.…” 2 hours ago Exited (0) 5 seconds ago nginx01

//停止所有容器

[root@localhost ~]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

5917c71a32ad nginx “/docker-entrypoint.…” 3 hours ago Up 9 seconds 80/tcp nginx02

8a279920b42e nginx “/docker-entrypoint.…” 5 hours ago Up 11 seconds 80/tcp nginx01

[root@localhost ~]# docker stop $(docker ps -aq)

e6ad39814957

5917c71a32ad

8a279920b42e

[root@localhost ~]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

//启动容器

[root@localhost ~]# docker start nginx01

nginx01

[root@localhost ~]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

8a279920b42e nginx “/docker-entrypoint.…” 2 hours ago Up 3 seconds 80/tcp nginx01

//重启容器

[root@localhost ~]# docker restart nginx01

nginx01

[root@localhost ~]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

8a279920b42e nginx “/docker-entrypoint.…” 5 hours ago Up 13 seconds 80/tcp nginx01

容器生命周期管理命令

docker start 容器名 #开启容器

docker stop 容器名 #停止容器

docker kill 容器名 #杀死容器

docker restart 容器名 #重启容器

docker pause 容器名 #暂停容器中所有的进程

docker unpause 容器名 #恢复容器中所有的进程

docker logs

容器日志查看命令

docker logs 容器名 #获取容器的日志信息

选项:

-f #跟随打印最新的日志追加在最后面

-t #显示日志打印的时间戳

–tail 数量 #只显示最新的指定数量的几条日志信息

[root@localhost ~]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

8a279920b42e nginx “/docker-entrypoint.…” 5 hours ago Up 13 seconds 80/tcp nginx01

[root@localhost ~]# docker logs 8a279920b42e

[root@localhost ~]# docker logs nginx01 --tail 5

2021/12/01 14:21:40 [notice] 1#1: OS: Linux 3.10.0-862.el7.x86_64

2021/12/01 14:21:40 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576

2021/12/01 14:21:40 [notice] 1#1: start worker processes

2021/12/01 14:21:40 [notice] 1#1: start worker process 24

2021/12/01 14:21:40 [notice] 1#1: start worker process 25

docker rm

容器删除命令

docker rm 容器名 #删除容器,无法删除运行状态下的容器

选项:

-f #强制,可以删除运行状态下的容器

示例:

//删除aa69d845c204容器

[root@localhost ~]# docker stop aa69d845c204

aa69d845c204

[root@localhost ~]# docker rm aa69d845c204

aa69d845c204

//批量删除所有容器

[root@localhost ~]# docker rm $(docker ps -aq)

e6ad39814957

5917c71a32ad

docker exec

不进入容器执行容器中的命令

docker exec 容器名 执行命令 #不进入容器执行容器中的命令

选项:

-d #后台执行,不显示结果

-it #为容器分配一个始终运行的伪终端,需要指定shell;-i保持运行状态,-t是分配伪终端

示例:

//不进入容器执行容器中的ls命令

[root@localhost ~]# docker exec nginx01 ls

bin

boot

dev

//使用docker exec命令打开一个shell进入到容器中,使用exit退出shell,容器也不会终止运行

[root@localhost ~]# docker exec -it nginx01 /bin/bash

root@8a279920b42e:/# ls

bin dev docker-entrypoint.sh home lib64 mnt proc run srv tmp var

boot docker-entrypoint.d etc lib media opt root sbin sys usr

root@8a279920b42e:/# exit

exit

[root@localhost ~]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

8a279920b42e nginx “/docker-entrypoint.…” 5 hours ago Up 10 minutes 80/tcp nginx01

[root@localhost ~]#

docker inspect

查看容器详细信息

docker inspect 容器名 #查看容器详细信息

示例:

[root@localhost ~]# docker inspect httpd01

…略

“Gateway”: “172.17.0.1”,

“IPAddress”: “172.17.0.3”,

“IPPrefixLen”: 16,

“IPv6Gateway”: “”,
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

经过日积月累, 以下是小编归纳整理的深入了解Java虚拟机文档,希望可以帮助大家过关斩将顺利通过面试。
由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示 。







由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
,可以扫码获取!!(备注Java获取)**

img

最后

经过日积月累, 以下是小编归纳整理的深入了解Java虚拟机文档,希望可以帮助大家过关斩将顺利通过面试。
由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示 。

[外链图片转存中…(img-AJWnJrUV-1711966056847)]
[外链图片转存中…(img-brVtWmPC-1711966056847)]
[外链图片转存中…(img-GiROyzyJ-1711966056848)]
[外链图片转存中…(img-CkMfM00o-1711966056848)]
[外链图片转存中…(img-UlYl5wON-1711966056848)]
[外链图片转存中…(img-Vk4lz6D2-1711966056849)]
[外链图片转存中…(img-XtQcZmUK-1711966056849)]

由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值