Docker-系统环境

1.Docker与虚拟机的区别

Docker是开发运行和部署应用程序的开发管理平台,它类似于虚拟机,可以独立运行,部署并管理应用。
在这里插入图片描述

  • Docker容器提供了基于进程的隔离,而VM虚拟机提供了资源的完全隔离。
  • Docker使用宿主操作系统的内核,而VM虚拟机使用独立的内核。
  • Docker的启动速度是秒级的,VM是分钟级的。
  • Docker的集成性比VM好。

2.Docker主要解决的问题

  • 保证程序运行环境的一致性
  • 降低配置开发环境,生产环境的复杂度和成本
  • 实现程序的快速部署和分发

3.镜像和容器

  • 镜像
    一个镜像相当于是一个服务的模板,比如说下载一个mysql的docker,实际上就相当于是下载一个包含了mysql服务的轻量级虚拟机,我们可以基于这个镜像创建N个容器。

  • 容器
    容器相当于是镜像的实例,有点类似于编程中类和实例的关系,容器创建好后,通过运行这个容器就可以得到对应的服务。

4.Docker的安装

  1. 安装网络工具命令
    yum install net-tools
    在这里插入图片描述

  2. 安装实用工具
    yum install -y yum-utils device-mapper-persistent-data lvm2
    在这里插入图片描述

  3. 添加yum镜像(这样后面安装docker就会快点)
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    在这里插入图片描述

  4. 更新yum缓存
    yum makecache fast
    在这里插入图片描述

  5. 安装docker-ce (开始安装docker ,ce表示社区版,安装会有点慢)
    yum -y install docker-ce
    在这里插入图片描述

  6. 查看docker服务
    systemctl list-unit-files | grep docker
    在这里插入图片描述
    如果显示disabled,说明docker服务不会随操作系统的启动而自动启动。
    systemctl enable docker 运行这个命令会让docker随着服务器的启动而启动
    在这里插入图片描述

  7. 启动docker服务(只用启动一次)
    systemctl start docker 开启
    systemctl stop docker 关闭
    systemctl restart docker重启
    在这里插入图片描述

  8. 查看docker信息(验证docker是否启动)
    docker info
    在这里插入图片描述

9.查找镜像

在这里插入图片描述
在这里插入图片描述

10.常用命令

Docker命令及参数使用大全:https://www.w3cschool.cn/docker/docker-command-manual.html

  1. 查看本机已下载镜像
    docker images
    在这里插入图片描述
字段名含义
REPOSITORY镜像仓库源
TAG镜像的版本
IMAGE ID镜像的id
CREATED镜像的创建时间
SIZE镜像的大小
  1. 下载镜像
    docker pull 镜像地址

  2. 删除镜像
    docker rmi 镜像ID

  3. 查看本机正在运行的容器
    docker ps
    在这里插入图片描述

  4. 查看本机所有容器(不管是否在运行)
    docker container ls -a
    在这里插入图片描述

  5. 启停容器
    docker start 容器名 开启
    docker stop 容器名 停止
    docker restart 容器名 重启

  6. 删除容器
    docker rm 容器名

  7. 复制文件到容器中
    docker cp 宿主机文件路径 容器名:容器内文件路径

  8. 复制容器中的文件到主机中
    docker cp 容器id:容器内路径 目的的主机路径

11.安装数据库

下载镜像—创建并启动容器—连接docker里面的数据库—创建系统数据库—执行sql

  1. daocloud上拉取镜像地址
    docker pull 镜像地址
    docker pull daocloud.io/library/mysql:5.6.22
    在这里插入图片描述

  2. 创建并启动容器
    docker run --name 容器名 -e MYSQL_ROOT_PASSWORD=123456 -p 端口:端口 -d 镜像地址
    docker run --name mysql-5.6 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d daocloud.io/library/mysql:5.6.22 (该命令需要参考daocloud详情部分)
    在这里插入图片描述
    注意:第一个3306是宿主机的端口号,也可以改成其他端口号。第二个3306是docker容器内想映射出来的端口号,这里是mysql的端口。这里必须要指定映射端口号,否则外界无法访问容器内的mysql。

  3. 连接docker里面的数据库
    在这里插入图片描述

  4. 在docker这里创建系统数据库
    在这里插入图片描述

12.安装tomcat

下载镜像—创建并启动容器—上传程序包到服务器指定路径,并解压—验证docker里tomcat容器指定路径下程序包上传成功—重启容器

  1. daocloud上拉取镜像地址
    docker pull 镜像地址
    docker pull daocloud.io/library/tomcat:8.0.23
    在这里插入图片描述
  2. 创建并启动容器
    docker run --name 容器名 -p 端口:端口 -d -v 服务器路径:容器路径 镜像地址
    docker run --name tomcat-8.0 -p 8080:8080 -d -v /mnt/tomcat/xbh:/usr/local/tomcat/webapps/xbh daocloud.io/library/tomcat:8.0.23
    在这里插入图片描述
  3. 上传程序包到服务器指定路径,并解压
    将程序包上传到安装了docker服务器/mnt/tomcat/xbh下
    在这里插入图片描述
  4. 验证docker里tomcat容器指定路径下程序包上传成功
    docker exec -it 容器名 bash进入容器内的bash交互命令模式查看是否挂载成功
    docker exec -it tomcat-8.0 bash
    在这里插入图片描述
    /usr/local/tomcat/webapps/xbh路径下面找到xbh.rar说明挂载成功
  5. 如果要修改程序包文件里面的内容,只能在服务器路径下的程序包进行修改,容器里也会同步修改了。不能在bash交互模式里修改。
    exit 退出bash
    cd /mnt/tomcat/xbh进入程序包路径
    vi db.properies 修改配置文件
    wq保存
    cat db.properies查看文件内容是否修改成功

可再次进入tomcat容器验证文件内容修改成功:
docker exec -it tomcat-8.0 bash
cd webapps/xbh
cat db.properies
6. 重启容器
docker restart 容器名
docker restart tomcat-8.0

13.容器使用注意事项

  • 尽量让一个容器做一件事情,或启动一个服务。
  • 尽量使用挂载的方式将数据文件挂载到容器中,容器里面尽量不要保存数据。
  • 尽量按照docker的要求使用容器,而不是像一个虚拟机那样什么都往容器里面装。
  • 尽量不要使用交互模式来直接操作容器,而是在宿主机上执行命令,或者使用docker file来进行定制。
    Docker File用于构建镜像。通过一系列指令,基于某一个原始镜像来创建一个新的镜像,基于文本文件。维护比较方便,构建比较灵活,一般运维工程师经常使用,测试工程师了解即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值