惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

SecWiki News
SecWiki News
I
InfoQ
The Cloudflare Blog
人人都是产品经理
人人都是产品经理
博客园 - Franky
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
博客园_首页
罗磊的独立博客
V
V2EX
李成银的技术随笔
大猫的无限游戏
大猫的无限游戏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
True Tiger Recordings
Vercel News
Vercel News
Cyberwarzone
Cyberwarzone
Cisco Talos Blog
Cisco Talos Blog
F
Fox-IT International blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
M
Microsoft Research Blog - Microsoft Research
Know Your Adversary
Know Your Adversary
爱范儿
爱范儿
The Register - Security
The Register - Security
G
Google Developers Blog
The Hacker News
The Hacker News
Malwarebytes
Malwarebytes
S
Securelist
博客园 - 三生石上(FineUI控件)
Jina AI
Jina AI
T
Threat Research - Cisco Blogs
T
The Exploit Database - CXSecurity.com
S
SegmentFault 最新的问题
博客园 - 叶小钗
F
Fortinet All Blogs
Apple Machine Learning Research
Apple Machine Learning Research
宝玉的分享
宝玉的分享
博客园 - 聂微东
T
Threatpost
博客园 - 【当耐特】
D
Docker
P
Privacy & Cybersecurity Law Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
G
GRAHAM CLULEY
V
Visual Studio Blog
C
Cisco Blogs
IT之家
IT之家
S
Security Archives - TechRepublic
Latest news
Latest news
阮一峰的网络日志
阮一峰的网络日志

披萨盒的赛博日志

使用策略模式重构复杂业务分支 像 systemd 一样管理 MacOS 后台常驻任务 以ORM看封装的边界 Git Merge VS Git Rebase: 如何优雅地合并分支? 修改Linux内核模块以支持WG OpenLDAP折腾日记 非特权模式容器 ssh 登录问题 在 Linux 开发环境中使用网络代理 白嫖 Aseprite 像素绘图软件 MongoDB 增删改查 Python数据分析工具包-Numpy 解决 CLion 中文乱码问题 搭建 RLCraft 服务器 SpringBoot读取配置文件 Centos 配置 LNMP 环境 部署项目时遇到的坑 浅谈 xhr 请求跨域问题 JavaScript 学习笔记 Eclipse配置Web开发环境 Vue2 基本知识 Ribbon 简单使用 Nacos 简单使用 Spring Cloud Alibaba 环境搭建 什么是RSS?什么是Feed?它们有什么关系? TensorFlow启用GPU加速 如何进行内网穿透 Hello World! Git基本使用 Butterfly常用标签外挂
Docker基本使用
2022-08-15 · via 披萨盒的赛博日志

作为一个开源的应用容器引擎,docker主要用于开发和运行应用。docker容器和虚拟机有些类似,但二者在原理上不同。容器是将操作系统层虚拟化,而虚拟机则是虚拟化硬件。因此容器相较于虚拟机来说更加便携、轻量以及高效。

所以我们可以简单的将docker容器理解为一个轻量版的虚拟机。在docker之上我们可以高效地运行各式各样的应用,应用之间相互独立而又可以互相协调。


docker组成

Docker

其中,容器和镜像的概念一定要分清。他俩的关系就像是Java中的类与对象。镜像是一个只读模板,用于指示创建容器,而容器是镜像的可运行实例。一个镜像也可以创建很多个容器,这些容器可以相互独立运行。

Docker注册中心(Docker registry)也被称为Docker仓库,主要用于存储docker镜像。Docker Hub是一个公共的注册中心,任何人都可以在此处下载镜像。


docker基本常用命令

镜像相关

  1. 检索镜像
1
docker search [关键字]
  1. 获取镜像(默认从Docker Hub下载)
1
docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
  1. 列出镜像
1
2
docker image ls
docker images
  1. 导入镜像
1
2
3
docker load [文件]


  1. 导出镜像
1
2
3
4
docker save [镜像名/镜像ID] [输出]



  1. 删除镜像
1
docker rmi [镜像ID]

容器相关

  1. 启动容器
1
2
3
4
5

docker run [选项] [镜像名/镜像ID[:TAG]] [命令] [参数]


docker start [容器名/容器ID]

docker run常用选项:

  • -d: 后台运行容器
  • -i: 以交互模式运行容器,通常与 -t 同时使用;
  • -P: 随机端口映射,容器内部端口随机映射到主机的端口
  • -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
  • –name: 为容器指定一个名称
  • -e: 设置环境变量
  • –env-file: 从指定文件读入环境变量
  • –net: 指定容器的网络连接类型
  • –link: 添加链接到另一个容器
  • –expose: 开放一个端口或一组端口
  • –volume, -v: 绑定一个卷,将本地文件夹与容器文件夹共享

举例:

1
2
3
docker run -it -p 80:80 -p 443:443 --name lnmp -v ~/docker/lnmp/data:/root/data centos:7 /bin/bash


  1. 查看容器
1
2
3
4
5

docker ps


docker ps -a
  1. 终止容器
1
docker stop [容器名/容器ID]
  1. 重启容器
1
docker restart [容器名/容器ID]
  1. 进入容器
1
2
3
4
5

docker attach [容器名/容器ID]


docker exec -it [容器名/容器ID] /bin/bash
  1. 导入容器
1
2
3
docker import [选项] [文件路径/URL] [REPOSITORY[:TAG]]


  1. 导出容器
1
2
3
docker export [容器名/容器ID] [输出]


注:用户既可以使用 docker load 来导入镜像存储文件到本地镜像库,也可以使用 docker import 来导入一个容器快照到本地镜像库。这两者的区别在于容器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也要大。此外,从容器快照文件导入时可以重新指定标签等元数据信息。

  1. 删除容器
1
docker rm [容器ID/容器名]
  1. 复制文件
1
2
3
4

docker cp [主机路径] [容器ID]:[容器路径]

docker cp [容器ID]:[容器路径] [主机路径]

参考:

【1】:Docker - 维基百科

【2】:Docker 教程 | 菜鸟教程

【3】:Docker - 从入门到实践

【4】:Docker Engine overview | Docker Documentation

【5】:Docker - 实现本地镜像的导出、导入(export、import、save、load)

【6】:一张脑图整理Docker常用命令 - 腾讯云开发者社区

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 披萨盒的赛博日志


avatar

披萨盒

反正身体这么好,今天继续笑下去吧

个人主页