当前位置: 首页 > 图灵资讯 > 技术篇> Docker基本安装

Docker基本安装

来源:图灵教育
时间:2023-06-01 09:55:38

1. docker

Docker基本安装_Docker

2. 虚拟机和容器的区别
  • ①:虚拟机借助物理机硬件进行硬件模拟,实现系统级隔离。每台虚拟机模拟硬件后,需要安装独立的操作系统,然后在操作系统上安装应用程序。容器是过程级隔离,通过虚拟化引擎在同一操作系统上隔离多个独立过程,然后在独立资源控制的过程容器中安装应用程序和依赖程序;
  • ②: Docker容器启动速度快(秒级),虚拟机启动速度慢(分钟级);
  • ③: Docker容器所需资源少,与操作系统核交互性能损失少;
  • ④: Docker较轻,内存消耗较少,Docker在相同硬件条件下运行的镜像数量远远超过虚拟机;
  • ⑤: 可快速创建和删除Docker,使用方便

缺点:①: 如果容器租户有root权限,Docker的安全性较弱,可以直接操作宿主机,可以进行无限操作;②: Docker集中管理工具还不成熟;

3. Docker的三个基本概念
  1. Iamge 镜像: 包装容器运行所需的程序、资源、数据库和配置文件;
  2. Repository 仓库:镜像存储位置,镜像构建完成后,可以很容易地在当前的宿主机上运行,但是,如果我们需要在其他服务器上使用这个镜像,我们需要一个集中的存储和分发服务,DockerRegistry 就是这样的服务。一个 Docker Registry 可以有多个仓库(Repository),每个仓库都可以包含多个标签(Tag),每个标签都是镜像。
  3. Container 容器:
  4. 镜像和容器之间的关系就像类和对象之间的关系。同一个镜像运行多次会得到多个容器实例。容器是镜像运行的实体,可以创建、启动、停止、删除、暂停等。容器的本质是过程,但不同于宿主的过程。容器有自己独立的命名空间,所以容器有自己的root 文件系统,自己的网络配置,自己的过程空间,甚至自己的用户 ID空间。容器中的过程是在一个孤立的环境中运行,就像在一个独立于宿主的系统下运行一样。请注意,在容器被删除后,容器存储层中保存的任何信息都不会被保存,它与容器的生命周期相同,因此需要保存的任何数据都不会被保存 建议保存在数据卷中(Volumes)或者在宿主机目录中,数据不会随着容器的消失而消失。
  5. Docker基本安装_Docker_02

4. 安装Docker

安装环境准备和安装步骤

①检测Centos7内核版本

Docker基本安装_Docker_03

②如果版本太低,建议使用 yum update 更新

③更新后,再次检测内核系统是否符合要求

④旧版本的docker卸载已安装的docker

yum remove docker-*

⑤安装所需的软件包, yum-util 提供yum-config-另外两个是devicemaper驱动依赖的manager功能

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

⑥安装docker的yum源官方镜像地址:

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

阿里云镜像地址:

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

⑦更新软件包的索引

yum makecache fast

⑧查看可安装的docker版本

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

Docker基本安装_自定义_04

⑨安装docker ,最新版本的docker安装在centos7.4操作系统上

yum install docker-ce-18.03.1.ce-1.el7.centos

⑩启动并设置启动启动

systemctl start dockersystemctl enable dockerSystemctl status dockerSystemctl stop docker

11检测安装是否成功

docker version

5. 常用的Docker命令

(1)与镜像相关的命令①查看镜像: 查看当地已存在的镜像

docker images 或者 docker image list

Docker基本安装_自定义_05

②搜索镜像: 在互联网上查看docker镜像

docker search image_name

基本安装Docker_Docker_06'

③拉取镜像

docker pull image_name:版本编号

如果在拉取镜像时没有指定具体的版本代码,默认情况下会拉取最新版本,建议使用hub.docker网站搜索查看相关镜像的具体版本,并通过指定的具体版本拉取您需要的镜像

Docker基本安装_docker_07

Docker基本安装_Docker_08

Docker基本安装_Docker_09

④删除镜像]

docker rmi image_iddocker rmi `docker images -q` 删除所有镜像

Docker基本安装_自定义_10

(2)与容器相关的命令①查看容器: 检查当前正在运行的容器

docker ps

容器是通过镜像创建的,一个镜像可以创建许多容器docker ps -a 查看所有容器(包括启动和非启动容器)

Docker基本安装_docker_11

②创建容器

docker run [参数选项] image [command]

可选参数选项可通过 docker run --help进行查看

Docker基本安装_自定义_12

Docker基本安装_自定义_13

Docker基本安装_自定义_14

Docker基本安装_自定义_15

③启动容器

  1. 启动伪终端模式

docker run -it --name=自定义容器名称 image-name:tag /bin/bash

Docker基本安装_自定义_16

docker基本安装_自定义_17

  1. 启动后台过程

docker run -id --name=自定义容器名 image_name:tag

Docker基本安装_Docker_18

docker容器使用以下命令进入后台启动

docker exec -it 自定义容器名称 /bin/bash

Docker基本安装_自定义_19

④停止容器,重新启动容器

docker stop iddocker的容器名或iddock start 容器名称或id

Docker基本安装_自定义_20

⑤总结docker常用命令

Docker基本安装_docker_21

复制文件

docker cp 本地文件路径中源文件 容器名:/容器中的目标路径 (从宿主机到容器)

或者

docker cp 容器名称:/文件路径 /宿主机路径 (从容器复制到宿主机)

Docker基本安装_Docker_22

挂载容器目录

docker run -id --name=自定义容器名称 -v 宿主机目录:容器中的目录 image_name:tag

Docker基本安装_自定义_23

docker inspect 容器名称或容器id

查看容器配置信息(基本配置信息) 挂载信息 图形驱动信息 网络信息等))

Docker基本安装_自定义_24

删除容器: docker rm 容器名称或id

Docker基本安装_docker_25

配置容器IP地址①. 创建自定义网络

docker network create --subnet=172.20.0.1/24 docker-br0

--subnet: docker-br0表示在容器中创建的子网络的网段 : 表示容器网桥的名称②. 创建网桥后,可以使用ifconfig命令检测ifconfig③. 如果不使用该网桥,可以删除

docker network rm docker-br-9a740c9440a3

基本安装Docker_docker_26'

④. 选择任何IP地址作为您自定义的网段,以启动容器IP

docker run -id --net docker-br0 --ip 172.20.0.11  --name=mycentos_1 centos:7.4.1708

Docker基本安装_自定义_27

⑤. 使用docker exec -it 容器名 /bin/bash 使用已启动的容器进入启动的容器 yum install net-tools 下载 iptables 然后用ifconfig查看容器ipip

Docker基本安装_Docker_28

Docker基本安装_Docker_29

⑥. 测试本机和容器是否ping通过

Docker基本安装_自定义_30

⑦. 重复执行④⑤⑥三步操作重新操作一个容器

Docker基本安装_自定义_31

Docker基本安装_Docker_32