第一本docker书 学习笔记(二)
#安装docker的先决条件
运行64位CPU构架的计算机(docker目前不支持32位的cpu)
- 运行LUFSinux3.8或者更高版本内核
- 内核必须支持一种合适的存储驱动,例如:
device Manager
AUFS
vfs
默认存储驱动通常是devices mapper
...
- 内核必须支持并开启cgroup和命名空间(namespace)功能
# 运行第一个容器
>>> sudo docker run -i -t ubuntu /bin/bash
-i 保证容器中STBIN是开启的,尽管并没有附着到容器中,
-t 则是,为创建的容器分配一个伪tty终端
若要在命令下创建一个我们能与之进行交互的容器,而不是运行后台服务的容器。则这两个参数是最基本的参数了
>>> hostname
查看容器的主机名
>>> exit
退出
# 容器命名
--name
docker run --name botoo_container -i -t ubuntu /bin/bash
上述命令创建一个 名为botoo_container的容器;
容器的命名必须是唯一的。
#重新启动已经停止的容器
>>> sudo docker start botoo_container
或者
>>> sudo docker start 容器ID
启动已经停止的容器
#附着到容器上
当容器重新启动后,可以用dockcer attach命令 ,重新附着到该容器的会话上。
>>> docker attach 容器nane
>>> docker attach 容器ID
退出shell ,容器也停止
#创建守护式容器
除了上述的交互式运行容器,也可以创建长期运行的容器。守护式容器,没交互式会话,非常适合运行应用程序和服务。
>>> sudo docker run --name daemon_dave -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
我们使用一个-d参数,docker就会将容器放到后台运行。
在命令里使用一个 while循环,该循环一直打印 hello world,直到容器停止运行;
>>> sudo docker ps
可以看见该容器
#容器在内部都干些什么
获取守护容器的日志
我们也可以使用 -f 命令 监控docker的日志,和 tail -f 命令相似。
>>> docker logs --tail 10 daemon_dave
获取日志最后10行
>>> docker logs -ft daemon_dave
... .... ....
#查看容器内的进程
>>> docker top 容器名
可以看容器内所有的进程;
#在容器内部运行进程
>>> docker exece -d daemon_dave touch /etc/new_config_file
在容器中运行后台任务
>>> docker exec -t -i daemon_dave /bin/bash
在容器内运行交互命令
#停止守护容器
>>> docker stop 容器名
>>> docker stop 容器ID
#自动重启容器
>>> docker run ---restart=always --name daemon_dave -d ubuntu /bin/sh -c "while true;do echo hello world; slepp 1;done"
-- restart 设置为always ,无论容器的退出代码是什么。docker 都会自动重启该容器。
除了always ,还可以设置为 on -failure,这样,只有当容器的退出代码为非0的时候,才会自动重启。
on-failure 还接受一个重启次数参数,
--restart=on-failure:5
最多允许重启5次;
#深入容器
使用docker inspect 获取更多容器信息
#删除容器
运行中的容器是无法删除的,必须先使其stop
再删除, docker rm 容器ID
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2018-06-19 安全测试===如何查看浏览器保存的密码