Docker之容器管理基础

使用docker run命令来创建并启动容器时,Docker在后台的操作流程如下:

  • 检查本地是否存在指定镜像,如果没有就从公有仓库下载

  • 利用镜像创建一个容器并启动

  • 分配一个文件系统个容器,并在只读的镜像层外挂载一层可写层

  • 从宿主机配置的网桥接口中桥接一个虚拟接口到容器中

  • 从网桥的地址池中分配一个ip地址给容器

  • 执行用户指定的应用程序

  • 执行完毕后容器终止

有时执行docker run命令会无法正常执行容器会报错直接退出,常见的错误代码如下:

  • 125:Docker daemon执行出错,例如指定了不支持的Docker命令参数

  • 126:所指定命令无法执行,例如权限出错

  • 127:容器内命令无法找到

create命令与容器运行模式/环境和配置常用选项:

| 选项 | 说明 |

| — | — |

| -d | 是否在后台运行容器,默认为否 |

| - -group-add=[] | 运行容器的用户组 |

| -i | 保持标准输入打开 |

| -P | 随机端口映射 |

| -p | 指定端口映射到本地端口,例 80:80 |

| - -restart=“always” | 容器的重启策略,包括no,always等 |

| - -rm=true/false | 容器退出后是否自动删除,不能与-d同时使用 |

| -t | 分配一个伪终端 |

| -v | 挂在主机上的文件卷到容器内 |

| -w | 容器内的默认工作目录 |

| - -device=[] | 映射物理机上设备到容器 |

| -e | 指定容器内环境变量 |

| -h | 指定容器内主机名 |

| - -ip=“” | 指定容器的ip地址 |

| - -link=[:aklias] | 链接到其他容器 |

| - -name | 指定容器的别名 |

停止容器:


暂停容器:docker pause

例:启动一个容器并将它暂停

docker run -d -p 80:80 --name web nginx:latest

docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

1b52669a4ce3 nginx:latest “nginx -g 'daemon of…” 3 minutes ago Up 3 minutes 0.0.0.0:80->80/tcp web

docker pause web

web

可通过docker unpause命令进行恢复。

停止容器:docker stop

将一个正在运行的容器停止。

可用docker container prune命令将停止的容器清除。

可用docker start命令将停止的容器启动。

可用docker ps查看正在运行的容器。

可用docker ps -qa查看所有容器的ID。

可用docker restart命令重启运行的容器。

例:将一个运行的容器停止。

docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

1b52669a4ce3 nginx:latest “nginx -g 'daemon of…” 6 minutes ago Up 6 minutes 0.0.0.0:80->80/tcp web

docker stop web

web

docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

进入容器:


直接讲一个常用的命令:exec

命令格式:docker exec [参数] [容器]

常用参数:

  • -e:指定环境变量列表

  • -i:打开标准输入

  • -t:分配一个伪终端

  • -u:指定命令的用户名或ID

例:开启另一个终端

docker exec -ti web bash

root@1b52669a4ce3:/#

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

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

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

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

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

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

架构学习资料

准备两个月,面试五分钟,Java中高级岗面试为何越来越难?

准备两个月,面试五分钟,Java中高级岗面试为何越来越难?

准备两个月,面试五分钟,Java中高级岗面试为何越来越难?

准备两个月,面试五分钟,Java中高级岗面试为何越来越难?

准备两个月,面试五分钟,Java中高级岗面试为何越来越难?

由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
lOTvpGjU-1713824369395)]

由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值