当前位置: 首页 > news >正文

Docker----快速入门

一、Docker介绍

Docker是一个容器化技术,它可以将一个软件及其依赖的环境打包到一个容器中,该容器是可移植的,这使得Docker完成了“一次编译,到处运行”的目的。

Docker由daemon,client和registry组成,其中daemon是守护进程,是运行在主机操作系统上的后台服务,我们通过客户端发送的命令,最终都是由daemon来接受和执行的。

client则是我们与Docker进行交互的工具,我们输入docker命令时就是在使用客户端。

registry是一个集中存储和分发Docker镜像的地方,最著名的就是Docker Hub,我们可以通过仓库来拉取镜像,也可以将自己构建的镜像推送到仓库进行共享。

它们之间的关系为用户通过client来输入命令,client将命令发送给daemon,daemon则根据命令来操作registry中的镜像或者本地的镜像,然后daemon根据镜像(image)来创建对应的容器(container)

关于image和container,两者的关系类似于Java中类和对象的关系,镜像是只读的文件,是静态的,它包含了某个软件运行时的所有数据,包含代码,配置环境,库,环境变量等。

而容器则可以看做镜像的具体实现这个容器是隔离的,可以创建和销毁的。

二、相关命令

1.daemon相关

1.启动docker :systemctl start docker

2.停止docker:systemctl stop docker

3.重启docker:systemctl restart docker

4.查看docker:systemctl status docker

5.设置为开机启动:systemctl enable docker

2.image相关

1.查看本地镜像

docker images docker -q

显示结果是这样的:

REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
redis        latest    466e5b1da2ef   2 weeks ago   137MB

其中REPOSITORY是镜像名称,TAG表示版本号,IMAGE ID就是镜像号,CREATED表示这个镜像在云端仓库上的创建时间,SIZE就是大小喽。

2.搜索镜像:

docker search 软件名

3.拉取镜像
docker pull 软件名:版本号  

4.删除本地镜像

docker rmi imageId

3.container相关

1.查看容器

docker ps:查看正在运行的容器

docker ps -a:查看docker全部的容器

2.创建容器

docker  run  -id/t--name=容器名 镜像名:版本

-i:表示容器一直运行

-t:分配一个终端,进行交互式运行,也就是立即进入。这时候需要在后面加上/bin/bash

-d:后台创建一个容器,守护式,使用exec进入,使用exit退出。

3.进入容器

docker exec -it 容器名 /bin/bash

4.启动容器

docker start 容器名字

5.停止容器

docker stop 容器名字

6.删除容器

docker rm 容器名字

7.查看容器信息

docker inspect 容器名字

三、Docker数据卷

1.概述

数据卷本质是宿主机中的一个目录或者文件,当容器目录和数据卷目录绑定后,对方的修改会立即同步,一个数据卷可以被多个容器同时挂载,同时一个容器也可以被多个数据卷挂载。它的作用有3,1是将容器数据持久化,2是外部机器和容器间接通信,3是容器之间的数据交换。

2.配置数据卷

在创建/启动容器时,使用

docker run ..... -v 宿主机目录:容器内目录  ...镜像名:版本 /bin/bash

注意:1.目录必须是绝对路径。2.如果目录不存咋,则会自动创建。3.可以挂载多个数据卷。

3.数据卷容器

数据卷容器是多容器数据交换的另一种方式,使用时:1.创建启动数据卷容器。docker run -it --name=数据卷容器名 -v/volumn  镜像名:版本号 /bin/bash

2.使用数据卷容器名:docker run -it --name=容器名 --volumes -from 数据卷容器名 镜像名:版本号 /bin/bash 

http://www.dtcms.com/a/511194.html

相关文章:

  • 深度学习8-卷积神经网络-CNN概述-卷积层-池化层-深度卷积神经网络-案例:服装分类
  • 厦门做外贸网站国内十大咨询公司排名
  • 架构设计过去十年与未来十年
  • Nginx 日志轮转
  • 《Linux运维总结:基于ARM64+X86_64架构CPU使用docker-compose一键离线部署mongodb 7.0.22容器版副本集群》
  • 《Linux运维总结:基于ARM64+X86_64架构CPU使用docker-compose一键离线部署mongodb 7.0.22容器版分片集群》
  • MongoDB基础与Mongoose ODM
  • 做定制网站价格教做flash的网站
  • 【流量控制】算不对 GBN 窗口?分不清 SR 重传?滑动窗口 + 3 大协议一篇吃透
  • 临时插入的紧急任务如何影响整体进度
  • 国内net开发的网站建设网站建设费如何会计处理
  • Melos 使用指南:Flutter / Dart 多包管理工具!
  • React组件完全指南
  • TypeScript:npm的types、typings、@type的区别
  • 我的第一份开源贡献:小米工程师程赛的社区之旅
  • Python 基础 | 第八课:函数详解与应用
  • 火狐浏览器替换js脚本
  • 车载诊断架构 --- 由一个售后问题引发对P4时间的思考
  • 第3章 SQL数据定义语句
  • phpcms 网站m8 wordpress主题
  • Docker到Kubernetes的平滑迁移(服务网格实战)
  • 数据挖掘知识体系分析
  • 简述网站建设的五类成员做电商网站公司
  • 数据结构——邻接表
  • 预算系统 - 项目优化点
  • 【软考备考】论软件架构设计-范文示例
  • 探讨一下java将来未来两年内的就业以及发展
  • [特殊字符] 已发布目标检测数据集合集(持续更新)
  • mysql主从延迟
  • 乌当区城乡建设局网站wordpress小工具下载