笔记-docker学习-1
一、docker安装
1、CentOS Docker安装
安装命令如下:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
也可以使用国内 daocloud 一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh
2、其它系统的安装
由于本人使用的CentOS,所以其它系统的安装不再说明,可以参考教程,https://www.runoob.com/docker/centos-docker-install.html
二、docker命令
1、docker run :创建一个新的容器并运行一个命令,其中IMAGE就是镜像,镜像与容器的关系简单的来说镜像就像是一个没有安装的软件包,一个镜像可以产生多个容器(运行或者创建多次),但是每个容器的名字和Id都不能相同。
语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
实例:docker run -it -d --name mysql -p3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql,执行成功后如下图,会出现mysql的标识符
实例说明:-it 是指定容器以交互模式运行,并且为容器分配一个伪终端,可以在终端中执行mysql的一些命令 --name 是容器名称 -p指定主机端口
OPTIONS说明:
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container:<name|id> 四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;
--volume , -v: 绑定一个卷
2、Docker start/stop/restart 命令 :启动/停止/重启容器
实例:docker start mysql
3、docker kill 杀掉一个运行中的容器。不删除数据
实例:docker kill -s KILL mynginx
OPTIONS说明:-s:指定发送的信号,默认为“KILL”
4、docker rm 删除一个或多个容器。会删除数据
实例:docker rm -f db01 db02 强制删除容器名称为 db01、db02的容器
OPTIONS说明:
-f :通过 SIGKILL 信号强制删除一个运行中的容器。
-l :移除容器间的网络连接,而非容器本身。
-v :删除与容器关联的卷。
5、docker pause/unpause 暂停或者恢复容器中所有进程
实例:docker pause db01 暂停容器 db01中的所有进程
6、docker create 创建一个新的容器但不启动它,语法同docker run
实例:docker create --name mysqltest mysql:latest 创建mysql容器并且命名为mysqltest
7、docker exec 在运行的容器中执行命令
实例:docker exec -it de4ab36b1b59 bash de4ab36b1b59是容器Id,运行容器,并且分配一个伪终端,接下来就可以输入运行的容器命令,输入exit可退出伪终端
OPTIONS说明:
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端
8、docker inspect 获取容器/镜像的元数据。
实例:docker inspect mysql 获取镜像mysql的元信息。 运行结果如下:
OPTIONS说明:
-f :指定返回值的模板文件。
-s :显示总的文件大小。
--type :为指定类型返回JSON。
9、docker top 查看容器中运行的进程信息,支持 ps 命令参数。
实例:for i in `docker ps |grep Up|awk '{print $1}'`;do echo \ &&docker top $i; done 查看所有运行容器的进程信息
实例:docker top mysql-test 查看容器名称 为mysql-test容器的进程信息
10、docker attach 连接到正在运行中的容器
实例:docker attach --sig-proxy=false mynginx 容器mynginx将访问日志指到标准输出,连接到容器查看访问信息。
11、docker event 从服务器获取实时事件
实例:docker events --since="1467302400" 查看 2016年7月1日后的所有事件。 --since是指定的时间戳
实例:docker events -f "image"="mysql" --since="1467302400" 显示docker 镜像为mysql 2016年7月1日后的相关事件。
OPTIONS说明:
-f :根据条件过滤事件;
--since :从指定的时间戳后显示所有事件;
--until :流水时间显示到指定的时间为止;
12、docker logs 获取容器的日志
实例:docker logs -f mysql-test 跟踪查看容器mysql 的日志输出。 其中mysql-test是容器名称
OPTIONS说明:
-f : 跟踪日志输出
--since :显示某个开始时间的所有日志
-t : 显示时间戳
--tail :仅列出最新N条容器日志
13、docker wait 阻塞运行直到容器停止,然后打印出它的退出代码。
实例:docker wait de4ab36b1b59 de4ab36b1b59是容器Id
14、docker export 将文件系统作为一个tar归档文件导出到STDOUT。
实例:docker export -o mysql-`date +%Y%m%d`.tar de4ab36b1b59
ls mysql-`date +%Y%m%d`.tar 列出以mysql-日期.tar文件
mysql-20220622.tar
其中de4ab36b1b59 是容器Id
OPTIONS说明:
-o :将输入内容写到文件。
15、docker port 列出指定的容器的端口映射,或者查找将PRIVATE_PORT NAT到面向公众的端口。
实例: docker port mysql-test 查看容器名为mysql-test的端口映射情况。
笔记-docker学习-1的更多相关文章
- Docker学习笔记 — 配置国内免费registry mirror
Docker学习笔记 — 配置国内免费registry mirror Docker学习笔记 — 配置国内免费registry mirror
- docker学习笔记1 -- 安装和配置
技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...
- Docker学习笔记之一,搭建一个JAVA Tomcat运行环境
Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...
- docker~学习笔记索引
回到占占推荐博客索引 使用docker也有段时间了,写了不少文章与总结,下面把它整理个目录出来,方便大家去学习与检索! docker~学习笔记索引 docker~linux下的部署和基本命令(2017 ...
- Docker学习笔记 - Docker容器内部署redis
Docker学习笔记(2-4)Docker应用实验-redist server 和client的安装使用 一.获取redis容器(含客户端和服务端) 二.创建服务端容器 1.在终端A中运行redis- ...
- docker学习笔记(一)—— ubuntu16.04下安装docker
docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...
- Docker学习笔记总结
Docker学习笔记 https://yeasy.gitbooks.io/docker_practice/content/ 一 环境搭建 Ubuntu安装 .添加软件源的GPG密钥 curl -f ...
- docker学习笔记二:常用命令
docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...
- docker学习笔记-1
docker学习笔记一:安装 mac安装docker docker官方文档上有这么一段话: Because the Docker daemon uses Linux-specific kernel f ...
- Docker:学习笔记(1)——基础概念
Docker:学习笔记(1)——基础概念 Docker是什么 软件开发后,我们需要在测试电脑.客户电脑.服务器安装运行,用户计算机的环境各不相同,所以需要进行各自的环境配置,耗时耗力.为了解决这个问题 ...
随机推荐
- MNIST实例-Tensorflow 初体验
目的还是熟悉这种 tensorflow 框架的基本流程, 即如何导包, 反正我神经网络相关的一些经典理论, BP推导呀, 卷积神经网络呀, 递归神经网络这些的数学原理, 我已经基本推导一遍了, 已基本 ...
- 2025第一届轩辕杯Misc详解
Terminal Hacker 一步到位 flag{Cysay_terminal_game_hacked_successfully} 哇哇哇瓦 foremost分离 GekkoYoru 随波逐流检测, ...
- C#/.NET/.NET Core技术前沿周刊 | 第 39 期(2025年5.19-5.25)
前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...
- 重磅!SpringBoot4发布,11项重大变更全解析!
不知道大家最近没有发现?在我们新创建 Spring Boot 项目的时候,已经有了 Spring Boot 4.0.0 预览版这个选项了,如下图所示: 并且 Spring Boot 4 底层是基于全新 ...
- python doc转png踩坑历程分享
首先python根据文本内容生成doc,使用的是python-docx库,使用示例如下: from docx import Document from docx.shared import Pt, R ...
- WPF绑定与通知属性到界面
绑定与通知属性到界面 本文同时为b站WPF课程的笔记,相关示例代码 前言 在上一篇文章C#代码事件里面,我们介绍了利用给控件命名的方式,在后端代码中访问并修改属性.这样子直截了当,但是这样后端代码依赖 ...
- 基于vis.js实现网络拓扑图等关系图谱
vis.js是一个动态的.基于浏览器的可视化库.该库被设计为易于使用,可以处理大量动态数据,并支持对数据的操作和与数据的交互.该库由组件DataSet, Timeline, Network, Grap ...
- CSS设置多余文字自动省略
在写界面的过程中,常用到文字排版的问题,多余文字需要自动省略为".....",这里分享一个自己用到的方法,效果如下图: 使用方法: 在需要省略的文字css样式中写入如下代码即可: ...
- Dify实战案例:MySQL查询助手!嘎嘎好用
有了 AI 之后,我们在查询数据库的时候就不需要使用数据库客户端或程序(如 Java.Python)来查询了,我们可以直接使用 AI 来查询数据库,并且查询语句都不用你来写了,AI 会自动帮你生成. ...
- AI大模型应用开发入门-LangChain开发Agent
基于 LangChain 和 GPT-4o-mini 的大模型智能体开发实战 近年来,大模型能力的持续突破,使得构建智能代理(Agent)系统成为开发者追逐的热点. 本文将以 LangChain 框架 ...