Docker基本命令及使用

#博学谷IT学习技术支持#


一、Docker是什么

docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个镜像中,然后发布到其他的任何操作系统上,可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

二、为什么使用Docker

大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题:

  • 依赖关系复杂,容易出现兼容性问题
  • 开发、测试、生产环境有差异

三、Docker优势

Docker如何解决大型项目依赖关系复杂,不同组件依赖的兼容性问题?

  • Docker允许开发中将应用、依赖、函数库、配置一起打包,形成可移植镜像
  • Docker应用运行在容器中,使用沙箱机制,相互隔离

Docker如何解决开发、测试、生产环境有差异的问题?

  • Docker镜像中包含完整运行环境,包括系统函数库,仅依赖系统的Linux内核,因此可以在任意Linux操作系统上运行

四、Docker和虚拟机的区别

虚拟机(virtual machine)是在操作系统中模拟硬件设备,然后运行另一个操作系统,比如在 Windows 系统里面运行Linux系统。

而Docker仅仅是封装函数库,并没有模拟完整的操作系统,它只封装了所需的一部分操作系统的库。

总结:

  • docker是一个系统进程;虚拟机是在操作系统中的操作系统
  • docker体积小、启动速度快、性能好;虚拟机体积大、启动速度慢、性能一般

五、镜像命令

镜像名称:

  • 镜名称一般分两部分组成:[repository]:[tag]。
  • 在没有指定tag时,默认是latest,代表最新版本的镜像

例如:mysql : 5.7

镜像命令:

注: 当忘记命令时可以使用help查询,例如:保存镜像命令

docker save --help

1、从dockerHub上拉取一个镜像

docker pull rabbitmq

这样拉取的便是mysql最新版本的镜像,拉去指定版本需要指定

docker pull rabbitmq:3.8-management

2、保存,导入镜像

保存:

docker save -o nginx.tar nginx:latest

导入:

docker load -i nginx.tar

加载前务必记得删除之前存在的镜像

docker rmi nginx:latest

六、容器命令

容器保护三个状态:

  • 运行:进程正常运行
  • 暂停:进程暂停,CPU不再运行,并不释放内存
  • 停止:进程终止,回收进程占用的内存、CPU等资源

容器命令:

  • docker run:创建并运行一个容器,处于运行状态
  • docker pause:让一个运行的容器暂停
  • docker unpause:让一个容器从暂停状态恢复运行
  • docker stop:停止一个运行的容器
  • docker start:让一个停止的容器再次运行
  • docker rm:删除一个容器

命令参数:

例:解读下面两个命令

docker run --name containerName -p 80:80 -d nginx
  • docker run :创建运行一个容器
  • –name:给容器起一个名字
  • -p:将主机端口和容器端口映射,左边为主机端口,右边为容器端口
  • -d:后台运行容器
  • nginx:镜像的名称
docker exec -it mn bash:进入容器内部
  • docker exec :进入容器内部,执行一个命令
  • -it:给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互
  • mn:要进入的容器的名称
  • bash:进入容器后执行的命令,bash是一个linux终端交互命令

注: 容器内部没有vi命令

完成拉取镜像,创建和运行容器之后,便可以进行使用了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值