二、镜像命令

1、doccker images------------# 查看所有本地主机上的镜像

@@@解释

REPOSITORY -------------# 镜像的仓库源
TAG --------------# 镜像的标签
IMAGE ID --------------# 镜像的ID
CREATED --------------# 创建的时间
SIZE --------------# 镜像的大小

@@@ 可选项

-a --all -------------------------# 列出所有镜像
-q --quiet ----------------------- # 只显示镜像的ID

2、docker search 搜索镜像
docker search mysql ------------# 搜索mysql镜像

@@ 可选项 通过搜索来过滤

–filter=STARS=3000 ---------------# 搜索出来的镜像大于3000的


3、docker pull 下载镜像
@@ 下载镜像 docker pull 镜像名:[tag]。如果不写tag ,默认是最新版latest

docker pull mysql = docker pull docker.io/library/mysql:latest

例:docker pull mysql:5.7 下载的版本官网必须存在才可以

4、docker rmi 删除镜像

[root@joboy ~]# docker rmi -f 镜像ID ----------# 删除指定的镜像

[root@joboy ~]# docker rmi -f 镜像ID 镜像ID 镜像ID ----------# 删除多个镜像

[root@joboy ~]# docker rmi -f $(docker ps -aq) ----------# 删除所有的镜像
删除之后为:

三、 容器命令

说明: 我们有了镜像才可以创建容器,linux, 下载一个centos 镜像来测试学习
docker pull centos

1、 新建容器并启动

docker run [可选参数] image
####参数说明
name=“Name” 容器名字 如:tomcat01, tomcat02 用来区分容器
-d 后台方式运行
-it 使用交互方式运行,进入容器
-p 指定容器的端口 -p 8080:8080
-P 随机指定容器的端口

2、 测试,启动并进入容器

docker run -it centos /bin/bash


[root@75ae19c37250 /]# ls #查看容器内的centos ,基础版本
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var

3、从容器中退回主机

01、exit 命令

4、列出所有的容器

01、 docker ps 命令

参数说明:

-a # 列出当前正在运行的容器和历史运行的容器
-n=? # 显示最近创建容器的个数
-q # 只显示容器的编号

5、退出容器

exit # 直接退出并停止容器

Ctrl + P + Q # 容器不停止退出(快捷键)

6、删除容器

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

7、启动和停止容器操作

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

8、常用的其他命令

01、 后台启动容器

命令 docker run -d 镜像名

问题:docker ps, 发现centos 停止了
== 常见的坑==,docker 容器使用后台运行,就必须要有一个前台前进程,docker 发现没法有应用,就会自动停止

02、查看日志

docker logs 容器id
-tf --------------------# 显示日志
–tail number ------# 要显示的日志条数

03、查看容器中进程信息

docker top 容器id

04 查看镜像的元数据

docker inspetc 容器id
测试如下
[root@joboy ~]# docker inspect 2e5cd5e0fb4c
[
{
“Id”: “2e5cd5e0fb4c039abcbe83e384ef2be3a2e0a6d0bce4e5d8c4a56bb7f2b8ac71”,
“Created”: “2020-11-17T11:40:53.481848795Z”,
“Path”: “/bin/bash”,
“Args”: [],
“State”: {
“Status”: “running”,
“Running”: true,
“Paused”: false,
“Restarting”: false,
“OOMKilled”: false,
“Dead”: false,
“Pid”: 3163,
“ExitCode”: 0,
“Error”: “”,
“StartedAt”: “2020-11-17T11:40:53.86540547Z”,
“FinishedAt”: “0001-01-01T00:00:00Z”
},
“Image”: “sha256:0d120b6ccaa8c5e149176798b3501d4dd1885f961922497cd0abef155c869566”,
“ResolvConfPath”: “/var/lib/docker/containers/2e5cd5e0fb4c039abcbe83e384ef2be3a2e0a6d0bce4e5d8c4a56bb7f2b8ac71/resolv.conf”,
“HostnamePath”: “/var/lib/docker/containers/2e5cd5e0fb4c039abcbe83e384ef2be3a2e0a6d0bce4e5d8c4a56bb7f2b8ac71/hostname”,
“HostsPath”: “/var/lib/docker/containers/2e5cd5e0fb4c039abcbe83e384ef2be3a2e0a6d0bce4e5d8c4a56bb7f2b8ac71/hosts”,
“LogPath”: “/var/lib/docker/containers/2e5cd5e0fb4c039abcbe83e384ef2be3a2e0a6d0bce4e5d8c4a56bb7f2b8ac71/2e5cd5e0fb4c039abcbe83e384ef2be3a2e0a6d0bce4e5d8c4a56bb7f2b8ac71-json.log”,
“Name”: “/zealous_banach”,
“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,
“Capabilities”: null,
“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/0f0ff0496531be5d0e0bfe0758aefd16e002b83cf0b2af88044c0295974b6179-init/diff:/var/lib/docker/overlay2/d4f129565248773f31d786bcca2331d6ff10b6296c9941f37a942eb00d965cf6/diff”,
“MergedDir”: “/var/lib/docker/overlay2/0f0ff0496531be5d0e0bfe0758aefd16e002b83cf0b2af88044c0295974b6179/merged”,
“UpperDir”: “/var/lib/docker/overlay2/0f0ff0496531be5d0e0bfe0758aefd16e002b83cf0b2af88044c0295974b6179/diff”,
“WorkDir”: “/var/lib/docker/overlay2/0f0ff0496531be5d0e0bfe0758aefd16e002b83cf0b2af88044c0295974b6179/work”
},
“Name”: “overlay2”
},
“Mounts”: [],
“Config”: {
“Hostname”: “2e5cd5e0fb4c”,
“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”: “20200809”,
“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”: “8a1f8c917037262f45aa34b14c245fb46db69d99dd118aba674a23307058aeb4”,
“HairpinMode”: false,
“LinkLocalIPv6Address”: “”,
“LinkLocalIPv6PrefixLen”: 0,
“Ports”: {},
“SandboxKey”: “/var/run/docker/netns/8a1f8c917037”,
“SecondaryIPAddresses”: null,
“SecondaryIPv6Addresses”: null,
“EndpointID”: “80f5af799522e5af4fec8d8fb6280e541c4d461856a907c16e503389ab54e7a5”,
“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”: “4234c99bb5385fab8f4954f941d9da06a0cff5a7113c0cb42f1036ce03d93e3f”,
“EndpointID”: “80f5af799522e5af4fec8d8fb6280e541c4d461856a907c16e503389ab54e7a5”,
“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
}
}
}
}
]

05、进入当前正在运行的容器

我们通常容器都是使用后台方式运行的,需要进入容器,修改一些配置

命令:
docker exec -it 容器id bashShell

方式二:
docker attach 容器id

两种方式区别:
# docker exex ----------- # 进入容器后开启一个新的终端,可以在里面操作(常用)
# docker attach --------- # 进入容器正在执行的终端,不会启动新的进程

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

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


拷贝是一个手动过程未来我们使用 -v 卷的技术,可以实现自动同步

学习方式 :将所有命令全部敲一遍,自己记录笔记!

狂神Docker通俗易懂学习笔记2相关推荐

  1. Docker02 狂神Docker视频学习笔记 :【狂神说Java 哔哩哔哩】Docker最新超详细版教程通俗易懂

    目录 0. 视频源 0. 学习网址 基础篇 1. Docker概述 1.1 Docker为什么出现? 1.2 Docker历史 1.3 Docker能干什么 2. Docker安装 2.1 Docke ...

  2. Docker容器学习笔记一

    Docker容器学习笔记一 狂神说B站视频:https://www.bilibili.com/video/BV1og4y1q7M4?p=1 Docker容器学习笔记二:https://blog.csd ...

  3. 《自己动手写Docker》学习笔记2

    <自己动手写Docker>学习笔记2 1 前言 由于本人毕业设计与云原生领域相关,因此最近在学习Docker相关知识,<自己动手写Docker>涵盖了Docker底层的各类知识 ...

  4. 《深入浅出Docker》学习笔记

    <深入浅出Docker>学习笔记 第三章:docker 安装 linux服务器安装:-略 windows服务器安装:-略 确认安装结果 docker --version 第四章:纵观DOc ...

  5. Docker容器学习笔记(看了狂神视频)

    狂神的笔记更加系统详细,推荐大家可以去看狂神的视频教程和笔记.我这里仅根据我自己的需求写的笔记,对于需要快速掌握docker的使用的朋友可以参考学习. Docker 背景需求 之前,开发一套环境,上线 ...

  6. Docker入门学习笔记(狂神版)

    下述笔记是自己花一天时间看B站狂神说Docker视频的笔记,下列的笔记是根据自己的实践的记录下来的,若想细学掌握Docker建议自行观看(<Docker入门到精通>),去观看狂胜的视频记得 ...

  7. docker,k8s学习笔记汇总

    整理了下博客里关于docker和k8s的文章,方便查看 docker学习笔记(一)docker入门 docker学习笔记(二)创建自己的镜像 docker学习笔记(三)docker中的网络 docke ...

  8. 狂神说Java学习笔记 Java基础

    目录 机器语言 第二代语言(汇编语言) 第三代语言 高级语言 Java特性和优势 JDK(Java Development Kit) JRE(Java Runtime Enviroment) JVM( ...

  9. B站狂神说JavaWeb学习笔记

    JavaWeb学习笔记(根据b站狂神说java编写) 1.基本概念 1.1 前言 静态Web: 提供给所有人看数据不会发生变化! HTML,CSS 动态Web: 有数据交互,登录账号密码,网站访问人数 ...

最新文章

  1. 大雁塔为什么七层_“大唐不夜城”广场旁边的千年古佛塔为何被叫“大雁塔”?...
  2. 如何科学观象?生物学家建立大象行为库,参考上百篇文献,“翻译”500种大象行为...
  3. linux 系统监控 php,Linux系统资源监控命令简介
  4. 【转】C#命名空间与java包的区别分析
  5. Hbase简介及常用命令相关知识总结
  6. 用Java写数据到POST请求
  7. 基于Docker部署LNMP架构
  8. Linux下文件的打包、解压缩指令——tar,gzip,bzip2,unzip,rar
  9. 关于vim的误删除经历
  10. lduan SCVMM 2012 库服务器(五)
  11. 如何拯救「大泥球」架构?人人车Android客户端架构演进实录
  12. access 循环_双11多个品牌创销量新高,ACCESS品牌管理集团背后的全球供应链解码...
  13. 伪元素在父元素中居中_从ArrayList中移除元素
  14. 最简单DIY基于STM32F407探索者开发板和PCA9685舵机控制模块的红外遥控机械臂控制程序
  15. php控制flash播放视频教程,Flash AS3教程:如何利用按钮控制选择播放动画
  16. C++ 验证DH算法
  17. 火山视频抖音版批量下载,一个脚本就够了,手把手教你批量下载抖音火山高清视频。
  18. 基于手机通信录应用的前景+
  19. 服务器维护必刷稀有宠物,完美国际2稀有宠物坐标及刷新时间(记得去抓)!!!...
  20. 如何关闭android键盘,软键盘怎么关?软键盘关闭方法

热门文章

  1. android改微信号码,安卓版微信更新,已支持修改微信号
  2. 计算机课外活动小结,课外活动总结
  3. 「游戏建模」如何使用zbrush为模型制作衣服上的褶皱
  4. Weakly Supervised Instance Segmentation using Class Peak Response
  5. 十分钟了解耳机的种类和优缺点
  6. 「计算机日常」笔吧测评室笔记本测评科普视频笔记
  7. Python世界里的魔术方法(一)
  8. RetinaNet模型在DDSM数据集的应用问题(3)
  9. 防雷知识:什么是雷电浪涌
  10. 如何辨别3C标志的真伪!