Docker基础介绍

Docker 基础介绍

什么是Docker

Docker是一种基于Linux内核的,属于操作系统层面的虚拟化技术,是一种环境部署工具,本质就是一个软件.

用来发布网站的

这里提一下VM,Vmware虚拟机是基于硬件(CPU,内存,磁盘)的一种虚拟化技术

Docker图解

在这里插入图片描述

Docker的优点

当我们需要搭建环境的时候,如果用传统的方式,每一个环境就需要一个服务器,产生的费用会很高,

那么用Docker来搭建:

  1. 可以在一台Linux服务器上搭建多个环境(这里的环境指的就是Docker容器)
  2. 容器之间的隔离性好
  3. 只要镜像文件还在,那么就算一个Docker容器死亡,也不会影响其他的容器
  4. 占用磁盘空间小,速度快(秒级)
  5. 快速完成配置任务,简化了部署方式
  6. 提升开发效率
  7. 应用迁移方便

Docker是比较流行的环境部署方式

Docker 三要素

docker 镜像

  • 一种特殊的文件,负责产生容器,是容器所运行的环境

  • 一个镜像可以生成多个容器

  • 一个容器死亡,其他容器可以继续使用

docker 容器

一个小Linux系统或者说一个小型服务器

docker 仓库

在互联网上用来存放dokcer镜像的地方

docker的安装

  1. yum -y update 升级Linux所有组件(-y表示执行过程中都选yes)
  2. yum install -y docker 下载docker
  3. reboot 重启系统

启动docker服务

  • systemctl start docker 启动docker服务
  • systemctl stop docker 停止docker服务
  • systemctl restart docker 重启docker服务
  • systemctl enable docker 开机自动启动docker服务
  • systemctl disable docker 取消开机自启动docker服务

验证docker服务是否启动

docker version

在这里插入图片描述

当有两个docker版本号时(C/S),说明启动服务成功

查看docker版本号

docker -v

docker用户管理

需求:普通用户并没有docker使用权限,需要root用户创建docker组,为普通用户提供docker服务

  1. 创建docker组

    [sudo] groupadd docker (在root用户下不需要使用sudo,sudo表示以管理员身份运行)

    注意:这里的组名必须为docker

  2. 将普通用户添加docker组

在这里插入图片描述

  1. 修改/etc/sudoers配置文件

    修改该文件之前,因为该文件没有可写属性,需要手动修改可写属性

    在这里插入图片描述

    chmod u+w /etc/sudoers

    在这里插入图片描述

    进入/etc/sudoers配置文件,添加一行:用户名 ALL=(ALL) ALL

    在这里插入图片描述

    (小技巧:这里可以使用**/root命令查找root字符串,输入:set nu**显示行数)

    保存退出

  2. 重启系统

以上步骤完成之后,普通用户就可以使用docker了

在这里插入图片描述

上面红色提示不用管(只是为了让你输入root密码)

查看docker仓库的网站

https://dashboard.daocloud.io

docker镜像相关命令

  • 搜索指定镜像信息

    docker search 镜像名(如:php)

    在这里插入图片描述

  • 下载镜像

    docker pull 镜像全名:版本号,:版本号可以不写,不写表示下载最新版本

  • 查看本地所有镜像

    docker images

  • 删除镜像

    docker rmi 镜像名(或镜像ID(输入前几位就行了,只要是唯一的就行))

    在这里插入图片描述

    在这里插入图片描述

加速下载镜像

国外镜像下载会很慢,这里可以使用国内的网站镜像去下载

  1. 找到docker配置文件/etc/docker/daemon.json,写入网址

    在这里插入图片描述

    (这里用的是阿里云)

  2. 重新加载配置文件,systemctl daemon-reload

  3. 重启docker服务,systemctl restart docker

docker容器相关命令

  • 生成容器

    docker run -d 镜像名

    从镜像中创建容器,-d选项表示容器在后台运行

    在这里插入图片描述

  • 查看当前系统中所有容器信息

    docker ps -a

  • 停止UP状态的容器

    docker stop 容器ID

  • 删除容器

    docker rm 容器ID

    注意:只能删除非UP状态(也就是EXIT或CREATE状态)的容器

  • 进入容器

    docker exec -it 容器ID bash

    注意:只能进入UP状态的容器

    在这里插入图片描述

  • 退出容器

    先按ctrl p再按ctrl q,或者直接按ctrl z

docker真正的作用->发布网页

docker真正的作用就是使用docker容器作为一个平台(服务器)来发布网页

知识点(重点)

端口映射和路径映射

在这里插入图片描述

外部游览器通过大Linux的端口(8088(这个可以自己随便设定,一般在3000以上))找到大Linux服务器,

然后大Linux使用端口映射技术找到容器端口80,

这样就可以使外部游览器能够找到容器了

路径映射是一样的道理

  • 端口映射使用以下表示

    -p 大Linux的端口号:容器的端口号 (大Linux端口号自己随便取,一般大于3000,容器端口号默认为80)

  • 路径映射使用以下表示

    -v 大Linux中成果文件的路径:容器中成果文件的路径 (容器中成果文件的路径默认为/app)

docker 发布php类型网页

思路:

  1. 需要下载一个php镜像,来作为php类型网页的运行环境
  2. 将开发成果传至linux
  3. 使用镜像生成容器
  4. 将开发成果放到容器中,来共外界(游览器)访问

具体实现:

  1. 下载镜像

    docker pull webdevops/php-apache-dev

    apache版本用来接受游览器的请求

  2. 将开发成果传至Linux,注意:不能直接放在属主目录中,需要在属主目录中新建一个目录

    在这里插入图片描述

  3. 使用命令生成容器

    在这里插入图片描述

    -d表示生成的容器在后台运行

    这里可以验证以下容器时候生成:

    在这里插入图片描述

    去游览器上看看:

    在这里插入图片描述

    成功.

    发布多个网页时,使用不同的端口号就可以了,如:8088改为8077

docker 发布java类型网页

知识点:

java开发的成果物是一个jar包,要运行jar包,必须使用命令:java -jar jar包名,

linux中是没有java命令的,这个命令必须在java容器中使用,但是使用docker run 镜像名生成容器时,

此时生成的容器并没有java -jar 这个命令,

所以我们要在容器生成之前写一个配置文件,将java -jar命令写入其中,然后利用这个配置文件自定义一个镜像,用这个镜像生成容器,那么在容器生成的时候就可以自动执行该命令了,

执行了该命令之后才能生成我们的java环境,才能运行java成果

思路:

  1. 下载java运行环境的镜像

    docker pull openjdk:8-jdk-alpine

    在这里插入图片描述

  2. 编写配置文件

    编写镜像配置文件,必须新建一个名为Dockerfile的文件(严格区分大小写),

    这个文件就作为自定义镜像的配置文件

    在这里插入图片描述

    在这里插入图片描述

    保存退出

    (注意:配置文件中尽量不要写中文,否则可能出现编码错误)

  3. 自定义镜像

    构建镜像之前需要确保Dockerfile文件和开发成果物(jar包)在同一目录下

    在这里插入图片描述

    使用命令:

    docker build --build-arg 参数名=jar包名 -t 新镜像名 Dockerfile文件所在目录

在这里插入图片描述

  1. 使用自定义的镜像生成容器

    docker run -d --name=yzz_test -p 8011:18888 yzz:1.0

    –name选项表示指定新生成容器的名字,

    注意:这里的镜像名必须带上版本号,否则系统识别不出来

    在这里插入图片描述

docker发布复杂应用

需要多个镜像容器来发布

  1. 安装一个小工具,docker-compose

    使用该工具可以执行.yml配置文件

    .yml配置文件里面含有编写好的需要哪些镜像和镜像生成容器的步骤

    docker-compose会自动读取同目录下的.yml文件(自动下载镜像)

    安装步骤:

    1. 将docker-compose文件传至Linux

    在这里插入图片描述

    1. 将其放入/usr/loacl/bin目录下

      在这里插入图片描述

      注意这里最好在你的属主目录下留一份docker-compose文件,方便后面执行.yml文件(因为它两要放在同一目录下)

    2. 改写该文件的权限

    在这里插入图片描述

  2. 将.yml文件放入与docker-compose相同目录下

    在这里插入图片描述

  3. 执行.yml文件

    docker-compose up -d

    该命令会自动读取.yml文件并下载所需要的镜像文件

    在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值