Docker--镜像&&容器基本操作
1 基础镜像
| BusyBox | 一个极简版的Linux系统 集成了100多种常用Linux命令 大小不到2MB 适用于简单测试场景 |
| Alpine | 一个面向安全的轻型Linux发行版系统 比BusyBox功能更完善 大小不到5MB 是官网推荐的基础镜像 由于其包含了足够的基础功能和体积较小 在生产环境中最常用 |
| Debian/Ubuntu | Debian系列操作系统 功能完善 大小约170MB 适合研发环境 |
| CentOS/Fedora | 都是基于Redhat的Linux发行版 企业级服务器常用操作系统 稳定性高 大小约200MB 适合生产环境使用 |
2 镜像基本命令
| docker search xxxx | 在docker官方仓库查找所需镜像 |
| docker pull centos | 从默认仓库拉取centos镜像最新版 |
| docker image ls | 查看本机的image |
| docker images | |
| docker image rm 镜像名称/ID | 删除image |
| docker rmi 镜像名称/ID | |
| docker inspect [选项] 镜像 | 查看image的详细信息 |
| docker tag 镜像名:标签 新镜像名 | 给镜像打标签 |
3 docker 加速 使用国内镜像加速器 使拉取镜像更快速
1)修改 /etc/docker/daemon.json 文件并添加上 registry-mirrors 键值并重启docker(可以登录阿里云控制台 搜索容器镜像服务 来获取自己的镜像加速地址)
vim /etc/docker/daemon.json
{
"registry-mirrors": ["镜像加速地址"]
}
systemctl daemon-reload
systemctl restart docker
2)修改docker服务的启动命令 在启动时传入"--registry-mirror=xxx"参数实现
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --registry-mirror=镜像加速地址
systemctl daemon-reload
systemctl restart docker
4 启动容器及其参数
语法 docker run -itd[参数] centos(镜像名称) (run 若没有镜像会直接下载)
| -i | 允许你对容器内的标准输入 (STDIN) 进行交互 |
| -t | 在新容器内指定一个伪终端或终端 |
| -d | 在后台运行容器 返回容器ID |
| -h | 指定容器的主机名 如果不指定 会随机生成一个 |
| --rm | 容器停止后删除掉 默认不会删除 |
| --name | 指定容器的名称 |
| --network | 指定容器的网络连接方式 默认为NAT |
| --ip | 指定容器的IP地址 |
| -p <宿主端口>:<容器端口> | 端口映射 将容器指定端口映射到宿主机的指定端口 可以用多个-p选项指定多个端口映射 |
| -p 80 | 将容器的80端口映射到宿主机的随机端口 |
| -P | 将容器声明的所有端口映射到宿主机的随机端口 |
| -v <宿主目录>:<容器目录> | 将宿主机的指定目录映射到容器的指定目录 |
| --privileged | 需要修改某些特定的参数需要加上此选项 正常运行一个容器不建议开放这个权限 |
5 容器基本操作命令
| docker create [选项] 镜像 | 创建一个容器但不运行 选项基本和run命令相同 |
| docker ps [-a] | 查看运行的容器 [-a 所有容器] |
| docker ps -a -q | 查看所有容器的ID |
| docker top 容器 | 查看容器的进程信息 |
| docker stop|start|restart|kill 容器 | 启停容器 |
| docker pause|unpause 容器 | 暂停|恢复容器 |
| docker rm 容器 | 删除容器(-f 运作中强行删除) |
| docker rm `docker ps -a -q` | 删除所有容器 |
| docker logs 容器 | 查看容器日志 |
| docker cp container:src_file dst_path | 将容器中的文件复制到宿主机上 |
| docker cp src_file container:dst_path | 将宿主机上的文件复制到容器中 |
| docker inspect [选项] 容器 | 以json格式显示出容器的具体信息 |
| 连接容器 | |
| docker exec -it centos /bin/bash | 可用exit命令退出 不影响容器 |
| docker attach centos | 通过attach连接容器 使用exit退出后容器会关闭 当多个窗口同时使用该命令进入该容器时所有的窗口都会同步显示 |
| 如果有一个窗口阻塞了 那么其他窗口也无法再进行操作 | |
| 若不想退出后停止容器 可通过快捷键ctrl+pq退出 | |
| docker commit -m "描述信息" 容器 镜像名[:tag] | 永久保存 将容器打包成镜像 |
6 导入导出
1)基于镜像
导出 docker save centos:latest > /bak/docker-centos_latest.bak
导入 docker load < /bak/docker-centos_latest.bak
2)基于容器
导出 docker export centos7 > /bak/docker-centos7.bak
导入 docker import /bak/centos7.bak centos7 #导入了镜像
Docker--镜像&&容器基本操作的更多相关文章
- Docker 镜像 && 容器的基本操作
镜像 && 容器 docker 镜像好比操作系统的镜像(iso) docker 容器好比是已安装运行的操作系统 所以说 docker 镜像文件运行起来之后,就是我们所说的 docker ...
- 二、docker 镜像容器常用操作(让我们用docker 溜得飞起)
前言 上篇讲了我们如何安装docker,现在该我们一展拳脚的时候了.接下来让我们一起学习一下docker常见的操作,让我们能够会使用 docker. 基本概念 在讲使用之前,还是先将一下docker ...
- Docker 镜像 容器 仓库
Docker 包括三个基本概念镜像(Image)容器(Container)仓库(Repository) Docker 镜像 Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序.库.资 ...
- docker镜像,容器的操作和应用
镜像操作 拉取镜像 从中央仓库拉取到本地 docker pull 镜像名称[:tag] #举个例子 :docker pull daocloud.io/libarary/tomcat:8.5.-jre8 ...
- docker 镜像 容器删除
Docker 容器镜像删除 1.停止所有的container,这样才能够删除其中的images: docker stop $(docker ps -a -q) 如果想要删除所有container的 ...
- Docker 镜像/容器操作命令
一.镜像操作 1.拉取镜像 # docker pull tomcat # docker pull tomcat:8.0.21-jre8 # docker pull 192.168.220.150: ...
- Docker 镜像、容器、仓库的概念及基本操作
Docker 包括三个基本概念: 镜像(Image)容器(Container)仓库(Repository) 这三部分组成了Docker的整个生命周期,如下图所示,容器是由镜像实例化而来的,这和我们学习 ...
- 【转】深入 Docker:容器和镜像
在本专栏往期的 Flux7 系列教程 里,我们已经简单地探讨了 Docker 的基本操作.而在那篇教程中,我们一直是简单地将容器当成是"正在运行的镜像",并没有深入地区分镜像和容器 ...
- Docker镜像和容器
本节内容: 安装Docker 卸载docker 镜像基本操作 容器基本操作 一.安装Docker Docker 对 Linux 内核版本的最低要求是3.10,如果内核版本低于 3.10 会缺少一些运行 ...
- 【docker学习二】CentOS7.5+Docker 镜像(容器)的使用
承接上篇:https://mp.csdn.net/postedit/82744127 上文介绍了容器与镜像的基本操作,这里总结下容器的使用. 先在官网找到一个镜像: https://hub.docke ...
随机推荐
- 【Javaweb】Servlet三|实现Servlet程序的几种方法及Servlet继承体系说明
GET和POST请求的分发处理 代码如下 注意页面要和index位置一样否则浏览器找不到 注意大小写 HttpServletRequest httpServletRequest = (HttpServ ...
- .net中优秀依赖注入框架Autofac看一篇就够了
Autofac 是一个功能丰富的 .NET 依赖注入容器,用于管理对象的生命周期.解决依赖关系以及进行属性注入.本文将详细讲解 Autofac 的使用方法,包括多种不同的注册方式,属性注入,以及如何使 ...
- 使用Slurm集群进行分布式图计算:对Github网络影响力的系统分析
本文分享自华为云社区<基于Slurm集群的分布式图计算应用实践:Github协作网络影响力分析>,作者:yd_263841138 . 1. 引言 Slurm(Simple Linux Ut ...
- LLM面面观之LLM复读机问题及解决方案
1. 背景 关于LLM复读机问题,本qiang~在网上搜刮了好几天,结果是大多数客观整理的都有些支离破碎,不够系统. 因此,本qiang~打算做一个相对系统的整理,包括LLM复读机产生的原因以及对应的 ...
- Pix4Dmapper空间三维模型的应用实例:GIS选址分析
本文介绍基于无人机影像建模完成后的结果,利用ArcMap软件进行空间选址分析,从而实现空间三维模型应用的方法. 目录 1 空间分析目标确立 2 基于基本约束条件的选址求解 2.1 坡度计算与提取 ...
- 华企盾DSC防泄密:PTC Creo程序打开加密文件报错
SolidDesigner.exe(PTC Creo)程序打开加密文件报错,添加的进程不对,任务管理器查看详细信息即可找到进程
- Arrarylist集合的使用
前提:最近JAVA实训课老师讲了一些Arrarylist集合的相关知识,刚好端午假期有空就把这课上学到的知识和自己碰到的一些问题总结下来. 一.Arrarylist集合的使用(以学生信息存储作为演示) ...
- mac如何访问同一wifi下的项目-mac-ru-he-fang-wen-tong-yi-wifi-xia-de-xiang-mu
title: mac如何访问同一wifi下的项目 date: 2022-03-28 20:14:06.341 updated: 2022-03-28 21:55:42.53 url: https:// ...
- STM32CubeMX教程7 TIM 通用定时器 - 输入捕获
1.准备材料 开发板(STM32F407G-DISC1) ST-LINK/V2驱动 STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK-Arm) X ...
- MySQL的事务(看看也许有帮助呢)
MySQL的事务 一.事务的概念 在MySQL中,只有InnoDB存储引擎才支持事务. 事务的处理用来维护数据库数据的完整性,保证同一个事务里的一批SQL语句,要么全部执行,要么全部不执行. 事务用来 ...