首页 > 编程知识 正文

docker教程阮一峰,docker的安装和使用

时间:2023-05-04 06:28:12 阅读:12433 作者:1189

一、docker容器介绍1 .容器是指:

docker容器是一个开源的APP应用程序容器引擎,开发人员将APP应用程序统一打包,并依赖于可移植容器安装受欢迎的Linux计算机、包括windows计算机的docker引擎容器完全使用沙盒机制,相互之间没有接口(就像iPhone上的app一样)。 几乎没有性能开销,可以在计算机和数据中心轻松运行。 最重要的是,他们不依赖于任何语言、框架或系统。

在docker中,启动容器的速度与启动进程一样快

2 .什么是docker:docker是一个完整的容器管理系统

Docker提供了一系列命令,使您可以更轻松地使用容器技术,而无需过多地涉及底层内核技术

3.docker的优势:1)与传统虚拟化技术相比,容器单元更小,创建速度更快

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

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

4 )虚拟化技术包括操作系统(OS ) >; 库支持) ) Libs ) ) >; App应用层) ) App )的三层支持

另一方面,Docker容器只需要两层,省略了操作系统,库支持(Libs )->; (App应用层) App ) )。

4.docker不足:1)容器隔离性不如虚拟化强

2 )公共Linux内核、安全有缺陷

3 ) SELinux很难控制

4 )很难监测容器和容器的拍照错误

二. docker容器安装

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

2、调度员要求centos系统内核版本高于3.1.0。 必须验证当前安装的centos操作系统是否支持,并且必须输入uname -r以验证内核版本

3、以root权限登录centos系统,确认yum软件包最新更新,如果没有yum命令,可以下载到163镜像进行安装

sudo yum更新

4、如果以前安装过docker,则需要卸载

yumremovedockerdocker-common docker-selinux docker-engine

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

yum install -y yum-utils

6、安装docker的设备映射器驱动程序相关软件包

yum instally设备-映射器-永久-数据2

7、设置yum源

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

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

yumlistdocker-ce-- show duplicates|sort-r

9、安装推介器

yum安装docker-ce -版本号

10、启动并参加启动启动

系统mctl开始代理程序

Syste mctl status docker

系统启用坞站

11、验证安装是否成功

docker版本

三.容器及镜像命令

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

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

3、下载镜像

docker拉动镜像名称

4、看后视镜

docker images可以显示当前安装的所有镜像

5、导出镜像

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

6、镜像导入

docker加载- I文件名

7、删除镜像

docker rmi镜像名称:标签

8、启动容器

直接运行(docker run -it镜像名称:标记执行脚本(退出时容器自动关闭) ) ) ) ) ) ) ) ) ) ) ) ) )。

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

9、查看运行中的容器

杜克斯PS

显示创建的所有容器: docker ps -a

10、维修

改tag标签

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

11、连接容器attach,exec

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

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

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

   docker  exec  -it  容器id  /感动的溪流/bash 

12、启动容器流程

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

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

docker exec –it  容器id /感动的溪流/bash  进入容器

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

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

 docker  commit  容器name  新镜像名

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

 docker run –it –p p1:p1 –p p2:p2 镜像名 /感动的溪流/bash

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

docker run -itd  --privileged=true -p 80:80 镜像 /usr/s感动的溪流/init

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

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

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

docker  run -it -v /宿主机目录:/容器目录 镜像名 /感动的溪流/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网络 实现原理: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

默认为该模式

  

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。