当前位置:   article > 正文

Docker安装教程及使用方法_水泽安装使用docker

水泽安装使用docker

一、  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

默认为该模式

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/378230
推荐阅读
相关标签
  

闽ICP备14008679号