2021-03-25-docker常用命令

docker安装及常用命令

docker简介

Docker 是一个开源的应用容器引擎,让开发者可以打包它们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何的接口。

其中,沙箱是一个虚拟系统程序,允许你在沙盘环境中运行浏览器或其他程序,因此运行所产生的变化可以随后删除。它创造了一个类似沙盒的独立作业环境,在其内部运行的程序并不能对硬盘产生永久性的影响。在网络安全中,沙箱指在隔离环境中,用以测试不受信任的文件或应用程序等行为的工具。

直接部署应用程序

一般来说,如果我们要部署一个应用程序(Application),第一步肯定是要先准备一台物理服务器,然后在物理服务器上安装一个操作系统(Operating System),有了操作系统之后,便在操作系统上安装运行我们的应用程序,这个过程可以 用下面的图来表示:

c8zOdU.png

物理机上部署应用有一下缺点:

  • 部署非常慢。因为我们得先准备硬件服务器,接着还要安装操作系统,然后再部署应用程序,而且应用程序还有很多的依赖软件,所以这个过程是比较慢的。
  • 成本非常高。主要是物理机成本太高,即使是部署一个简单的应用,也需要一台服务器。
  • 资源浪费。如果应用台简单,也容易浪费硬件资源,比如CPU和内存。
  • 迁移和扩展太慢。如果需要迁移应用,或者扩展应用,都要再准备其他的物理服务器,过程很麻烦,也很慢。
使用虚拟机部署应用程序

虚拟机允许我们在一台物理计算机模拟出多台机器,简单地理解,虚拟化技术就是在一台物理计算机上,通过中间虚拟软件层Hypervisor隔离CPU、内存等硬件资源,虚拟出多台虚拟机,这样做的话,一台物理服务器便可以安装多个应用程序,达到资源利用的最大化,而且多个应用之间相互隔离,如下图所示:

cGSx78.png

虚拟机的优点:

  • 可以把资源分配到不同的虚拟机,达到硬件资源的最大利用。
  • 与直接在物理机上部署应用,虚拟机更容易扩展应用。
  • 云服务:通过虚拟机虚拟出不同的物理资源,可以快速搭建云服务。

虚拟机的缺点:

  • 虚拟机的不足之处来自于对物理服务器资源的消耗,当我们在物理服务器创建一台虚拟机时,便需要虚拟出一套硬件并在上面运行完整的操作系统,每台虚拟机都占用了许多的服务器资源。
Docker容器部署

Docker是使用时下很火的Golang语言进行开发的,其技术核心是Linux内核的Cgroup,Namespace和AUFS类的Union FS等技术,这些技术都是Linux内核中早已存在很多年的技术,所以严格来说并不是一个完全创新的技术,Docker通过这些底层的Linux技术,对Linux进程进行封装隔离,而被隔离的进程也被称为容器,完全独立于宿主机的进程。所以Docker是容器技术的一种实现,也是操作系统层面的一种虚拟化,与虚拟机的通过一套硬件再安装操作系统完全不同。

cG9nqP.png

docker与虚拟机比较:

项目docker虚拟机
相同点1. 都可在不同的主机之间迁移 2. 都具备 root 权限 3. 都可以远程控制 4. 都有备份、回滚操作
操作系统在性能上有优势,可以轻易的运行多个操作系统可以安装任何系统,但是性能不及容器
原理和宿主机共享内核,所有容器运行在容器引擎之上,容器并非一个完整的操作系统,所有容器共享操作系统,在进程级进行隔离每一个虚拟机都建立在虚拟的硬件之上,提供指令级的虚拟,具备一个完整的操作系统
优点高效、集中。一个硬件节点可以运行数以百计的的容器,非常节省资源,QoS 会尽量满足,但不保证一定满足。内核由提供者升级,服务由服务提供者管理对操作系统具有绝对权限,对系统版本和系统升级具有完全的管理权限。具有一整套的的资源:CPU、RAM 和磁盘。QoS 是有保证的,每一个虚拟机就像一个真实的物理机一样,可以实现不同的操作系统运行在同一物理节点上
资源管理弹性资源分配:资源可以在没有关闭容器的情况下添加,数据卷也无需重新分配大小虚拟机需要重启,虚拟机里边的操作系统需要处理新加入的资源,如磁盘等,都需要重新分区。
远程管理根据操作系统的不同,可以通过 shell 或者远程桌面进行远程控制由虚拟化平台提供,可以在虚拟机启动之前连接
缺点对内核没有控制权限,只有容器的提供者具备升级权限。只有一个内核运行在物理节点上,几乎不能实现不同的操作系统混合。容器提供者一般仅提供少数的几个操作系统每一台虚拟机都具有更大的负载,耗费更多的资源,用户需要全权维护和管理。一台物理机上能够运行的虚拟机非常有限
配置快速,基本上是一键配置配置时间长
启动时间秒级分钟级
硬盘使用MBGB
性能接近原生态弱于原生态
系统支持数量单机支持上千个一般不多于几十个

原文来自–>here

docker安装

1.apt-get update

2.curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

cFQAne.png

3.echo 'deb https://download.docker.com/linux/debian stretch stable'> /etc/apt/sources.list.d/docker.list

cFQeAA.png

4.apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common

cFQM1f.png

5.有选项时选择yes

6.apt-get update

7.sudo apt install docker.io

cFlCUs.png

8.检查docker安装情况: docker

cFlKa9.png

docker常用命令

docker开启:

service docker start
systemctl start docker

开机启动docker:

systemctl enable docker

docker关闭:

systemctl stop docker

查看镜像:

docker images
docker images -q 查看所有的镜像id

容器开启:

docker start 容器名

容器关闭:

docker stop 容器名

删除容器:

docker rm 容器名
docker rm $(docker ps -aq)  删除所有停止运行的容器

查看容器:

docker ps  (显示运行的容器)
docker ps -a (显示所有的容器,包括关闭的,显示其开启关闭时间等信息)

进入容器:

docker exec -it 容器编号 /bin/bash

查看docker日志:

docker logs -f -t 容器编号

在没有dockerfile文件,只有docker-compose.yml文件时,我们要用docker-compose来创建镜像并开启容器。

docker-compose安装命令:

apt install docker-compose  //先要下好docker

进入对应目录下执行:

docker-compose up -d  //开启容器
docker-compose down   //关闭容器(用完后一定要关)

建镜像并开启容器。

docker-compose安装命令:

apt install docker-compose  //先要下好docker

进入对应目录下执行:

docker-compose up -d  //开启容器
docker-compose down   //关闭容器(用完后一定要关)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值