一、  docker容器介绍

1.什么是容器:

docker 容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了docker引擎的服务器上(包括流行的Linux机器、windows机器),也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。

docker可以做到启动一个容器可以像启动一个进程一样快速

2.什么是docker:

Docker是完整的一套容器管理系统

Docker提供了一组命令,让用户更加方便的使用容器技术,而不需要过多关系底层的内核技术

3.docker的优点:

1)相比于传统的虚拟化技术,容器单位更小,创建起来更迅速

2)传统虚拟机需要给每个虚拟机安装操作系统

3)容器使用共享的库与程序

4)虚拟化技术要三层支持,OS(操作系统)->库支持(Libs)->应用层(App)

而Docker容器只需要两层,省略操作系统,库支持(Libs)->应用层(App)

4.docker的不足:

1) 容器的隔离性没有虚拟化强

2) 公用Linux内核,安全性有缺陷

3) SELinux难驾驭

4) 监控容器和容器拍错比较困难

二、  docker容器安装

1、安装宿主机操作系统,可以安装任意的操作系统,以下教程以centos操作系统为例

2、 Docker要求centos系统内核版本高于3.1.0,需要查看当前安装的centos操作系统是否支持,输入uname  -r查看内核版本

3、使用root权限登录centos系统,确保yum包更新到最新,如果没有yum命令可以去163镜像下载一个进行安装

Sudo  yum  update

4、如果之前安装过docker需要进行卸载

yum  remove  docker  docker-common  docker-selinux  docker-engine

5、安装需要的软件包,yum-util提供yum-config-manager功能

yum  install  -y  yum-utils

6、安装docker的devicemapper驱动依赖的软件包

yum  install  –y  device-mapper-persistent-data   lvm2

7、设置yum源

yum-config-manager  --add-repo https://download.docker.com/linux/centos/docker-ce.repo

8、查看所有仓库中的docker版本,并选择特定版本安装

yum  list  docker-ce  --showduplicates  |  sort  -r

9、安装docker

yum  install docker-ce-版本号

10、启动并加入开机启动

Syste mctl  start  docker

Syste mctl  status  docker

Systemctl   enable  docker

11、验证安装是否成功

docker  version

三、  容器及镜像命令

1、docker容器是基于镜像启动的,镜像是启动容器的核心,第一步需要下载或上传一个镜像

2、搜索镜像,docker  search   镜像名

3、下载镜像

docker  pull   镜像名

4、查看镜像

docker  images     可以查看当前安装的所有镜像

5、导出镜像

docker  save  镜像名:标签 –o 导出文件名

6、导入镜像

docker  load  -i  文件名

7、删除镜像

docker  rmi  镜像名:标签

8、启动容器

直接运行:docker  run  -it  镜像名:标签    执行脚本  (退出后容器会自动关闭)

后台运行:docker  run  -itd  镜像名:标签    执行脚本   (退出后容器不会关闭)

9、查看运行中的容器

docker   ps

查看所有创建的容器:docker  ps   -a

10、修改tag标签

docker  tag  原名:原标签名  新名称:新标签

11、连接容器attach,exec

区别:attach进入容器,exit退出时会关闭容器

exec进入容器,exit退出时不会关闭容器,仍会放到后台

格式:docker attach  -it  容器id /bin/bash  (ctrl+p+q可以进行保存)

docker  exec  -it  容器id  /bin/bash

12、启动容器流程

docker  ps  -a    找到要启动的容器id

docker  start  容器id   给容器启动起来

docker exec –it  容器id /bin/bash  进入容器

注意:使用docker  run –it 镜像  使用该命令相当于使用镜像新建一个容器,连接容器时使用docker exec –it  容器id 命令。

13、将现有容器制作成镜像

docker  commit  容器name  新镜像名

14、指定宿主机和容器端口的映射

docker run –it –p p1:p1 –p p2:p2 镜像名 /bin/bash

15、进入docker容器带特权(可以让容器内的root拥有宿主机root的权限,例如可以使用systemctl)

docker run -itd  --privileged=true -p 80:80 镜像 /usr/sbin/init

16、拷贝本地的文件到容器

docker  cp  本地路径/文件   容器ID:容器路径

17、将宿主机目录挂载到容器中

docker  run -it -v /宿主机目录:/容器目录 镜像名 /bin/bash

18、查看容器内部的日志输出

docker  logs   容器ID或name

19、查看容器内部的进程

docker  top  容器ID

20、安装portainer.io

portainer是轻量的docker环境管理UI

docker  search  portainer    查找portainer的镜像

docker  pull  portainer/portainer   下载镜像

docker run -d -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /mnt/docker/portainer:/data  portainer/portainer     创建容器,映射9000端口

浏览器输入:http://宿主机IP+9000端口便可登录到portainer的UI界面,可以查看到创建的镜像,容 器,在界面可以新建容器,导入导出镜像,配置网络等操作

四、docker网络

  1. 实现原理:docker使用Linux桥接技术,在宿主机虚拟一个docker容器网桥docker0,docker启动一个容器时会根据docker网桥的网段分配给容器一个IP地址container-ip,同时docker网桥是每个容器的默认网关。因为在同一个宿主机内的容器都接入同一个网桥,容器之间就能通过容器的container-ip直接通信。docker网桥是宿主机虚拟出来的,不是真实存在的网络设备,外部网络无法通过container-ip直接访问容器,如果容器希望外部能够访问到,可以通过映射容器的端口到宿主机网络,例如映射22端口便可以直接通过xshell进行连接容器。

docker的四类网络模式:

host模式

-net=host

容器和宿主机共享network  namespace

container模式

-net=container:name or ID

容器和另一个容器共享network namespace

none模式

-net=none

容器有独立的network  namespace,没有对其进行任何的网络配置,没有网桥连接,配置IP等

Bridge模式

-net=bridge

默认为该模式

Docker安装教程及使用方法相关推荐

  1. Centos8的docker安装教程

    docker是一个容器管理的软件,容器背后其实就是一个进程:类似于一个集装箱. docker的官方下载地址:Install Docker Engine | Docker Documentation ( ...

  2. Matlab 2018a安装教程和破解方法(附Crack文件)

    参照: Matlab 2018a安装教程和破解方法(附Crack文件) 安装完成出现错误:Matlab安装后打开出现错误:License checkout failed. License Manage ...

  3. Docker安装教程(超详细)

    Docker安装教程(超详细) 欢迎关注博主公众号「Java大师」, 专注于分享Java领域干货文章, 关注回复「资源」, 免费领取全网最热的Java架构师学习PDF, 转载请注明出处 http:// ...

  4. Docker安装教程(看这篇就够了)

    Docker安装教程 一.CentOS安装Docker 1.卸载(可选) 2.安装docker 3.启动docker 4.配置镜像加速 二.CentOS7安装DockerCompose 1.下载 2. ...

  5. Oracle数据库:oracle启动,oracle客户端工具plsql安装教程和使用方法

    Oracle数据库:oracle启动,oracle客户端工具plsql安装教程和使用方法 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的 ...

  6. Docker 安装教程|在线安装、离线安装和脚本文件安装

    在Linux系统上安装Docker有3种方式,分别为在线安装.离线安装以及脚本文件安装,其中最常用也是官方推荐的安装方式就是在线安装.接下来将在 Ubuntu16.04系统上分别针对这3种安装方式进行 ...

  7. 好棒,测试妹子都能看懂的Jenkins Docker安装教程

    最近团队出了个线上BUG,导致了几个用户的订单不对,因为发现的及时,客服那边还没有接到投诉就修正过来了.所以就想贿赂测试妹子这次BUG能不能不往上报,要不然我还得写报告.复盘啥的.本以为一顿饭能搞定, ...

  8. M1芯片Mac安装达芬奇17闪退安装不了,怎么办?达芬奇17直装优化版支持big sur/M1芯片处理器 详细的安装教程+中英文设置方法

    达芬奇调色软件DaVinci Resolve Studio 17是Blackmagic Design 旗下一款著名的调色软件,也是世界上唯一一款将专业8K编辑,色彩校正,视觉效果和音频后期制作功能集于 ...

  9. docker安装教程-centos

    Docker 要求CentOS 系统的内核版本在3.10以上,查看本页面的前提条件来验证你的CentOS 版本是否支持Docker . 1.通过uname -r 命令查看你当前的内核版本 uname ...

最新文章

  1. 比一比Nmap、Zmap、Masscan三种扫描工具
  2. Kubernetes 第五章 YAML
  3. Android模拟器Genymotion安装apk
  4. MCU VR班會(05)記錄
  5. 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误
  6. 2.4、准备Spring Boot的环境 prepareEnvironment
  7. 其六,函数之一Function
  8. SpringBoot日志的相关知识
  9. 通过寄生组合式继承创建js的异常类
  10. python matplotlib cannot import name ‘artist‘ from ‘matplotlib‘
  11. 什么是手机定位,手机定位在生活中带来哪些作用
  12. 如何解决电脑桌面图标显示为空白文件?
  13. ds5100更换电池 ibm_IBMDS5100更换电池
  14. 2021前端智能化发展现状与未来展望
  15. AI可以自动生成绘画吗?分享几款AI绘画软件
  16. 神策数据:2021 证券业数字新基建趋势洞察
  17. python的matplotlib绘图(双坐标轴)
  18. 2019.03.26 bzoj4444: [Scoi2015]国旗计划(线段树+倍增)
  19. 高级货!Django实现基于人脸识别的门禁管理系统【源码】
  20. L1-030 一帮一(分数 15)

热门文章

  1. Halcon动态阈值分割
  2. 五大系统OA,PM,KM,ERP,CRM简要说明
  3. android imageview图片失真,imageView 图片变形失真
  4. OpenSSL-3.0.3编程—采用EVP方式计算数据摘要
  5. linux openssl之EVP AES
  6. 【PAT乙级】1002 写出这个数——柳神代码解析
  7. 2023 小额现金贷网络贷款系统源码 支持打包成APP
  8. [个人开发者赚钱九]做一个日收入10元的APP!
  9. Oracle密码过期策略
  10. spring源码分析11