docker基础

安装docker
部署Mysql
镜像与容器
docker常用命令
案例
docker-compose
在这里插入图片描述

传统安装Mysql–查看、卸载
在这里插入图片描述
比如我们需要安装一个Mysql的时候,普通的一个安装是很麻烦的,不仅是需要安装Mysql工具、库,它的配置也挺麻烦。
不同的系统版本,他要下载Mysql的类型也是不一样的,也要去查一下当前系统虚拟机或者主机适合下载哪个,查到之后,要去下载
在这里插入图片描述
在这里插入图片描述
这些过程太麻烦了,而且容易出错

使用docker工具去安装只需要一条命令
● 安装命令:
● docker run -d --name mysql -p 3306:3306 -e TZ=Asia/Shanghai -e MYSOL_ROOT_PASSWORD=123 mysql
在这里插入图片描述
安装docker
● docker.io是Docker软件包的名称,通过执行该命令,系统会自动下载并安装Docker软件包及其相关依赖项
在这里插入图片描述
使用docker version命令
查看docker服务是否安装成功
在这里插入图片描述
部署Mysql
● 先停掉虚拟机中的MySQL,确保你的虚拟机已经安装Docker,且网络开通的情况下,执行下面命令即可安装MySQL:

docker run -d --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

命令解读
● docker run:创建并运行一个容器
● -d:是让容器在后台运行
● --name mysql:给容器起个名字,必须唯一
● -p 3306:3306:设置端口映射
前面的端口是我搭建的docker的工具的这台主机,像我们这里是kali,kali的3306映射到容器的3306端口
● -e KEY=VALUE:是设置环境变量
TZ=Asia/Shanghai 设置时区,Mysql设置它的时区上海,后面还有个-e 创建了Mysql之后设置密码,后面的mysql是跟的一个镜像名字,名字后面还可以接:+版本,不写默认最新
● 镜像名称一般分两部分组成:[repository]:[tag]
● repository就是镜像名
● tag是镜像的版本
● 在没有指定tag时,默认是latest,代表最新版本的镜像

在这里插入图片描述
比如左面是我的主机,右边是我的虚拟机kali,容器下载在kali中,这里有个端口映射。如果我想访问这个容器,我就需要通过kali的这个端口进行访问,直接访问容器是访问不了的

镜像与容器
● 当我们利用Docker安装应用时,Docker会自动搜索并下载应用镜像(image)。镜像不仅包含应用本身,还包含应用运行所需要的环境、配置、系统函数库。Docker会在运行镜像时创建一个隔离环境,称为容器(container)。
● 镜像仓库:存储和管理镜像的平台,Docker官方维护了一个公共仓库:https://hub.docker.com
在这里插入图片描述
容器与镜像的区别
在这里插入图片描述
docker常用命令
● Docker最常见的命令就是操作镜像、容器的命令,详见官方文档:https://docs.docker.com
在这里插入图片描述

docker pull //从官方网站,镜像库里面下载对应的工具的镜像,下载到本机上
docker images //查看当前本地上有哪些镜像文件
docker rmi //删除对应的镜像
docker build //自己去写一个镜像,上传到本地(通过文件写,写了之后执行这条命令,他就可以创建一个镜像,这个镜像可以通过push命令上传到公开的库上去)
docker save //保存镜像
docker load //把镜像解压进去
docker run //运行镜像,创建一个容器(一个镜像可以启动多个容器使用几次命令就可以创建几个容器,每个容器可以看做一个靶场)
docker start //启动这个容器
docker stop //停止这个容器
docker ps //查看容器是否开启以及本机上有那些容器
docker rm //删除容器
docker logs //查看容器的日志
docker exec //进入这个容器的命令行

案例
案例-查看DockerHub,拉取Nginx镜像,创建并运行Nginx容器、
Nginx镜像跟我们Apache一样是一个服务器
● 需求:
● 在DockerHub中搜索Nginx镜像,查看镜像的名称
● 拉取Nginx镜像
● 查看本地镜像列表
● 创建并运行Nginx容器
● 查看容器
● 停止容器
● 再次启动睿器
● 进入Nginx容器
● 删除容器

镜像操作

拉取Nginx镜像

docker pull nginx

在这里插入图片描述
查看本地镜像列表:

docker images

在这里插入图片描述
打包镜像:

docker save -o nginx.tar nginx:latest  //把我们刚刚下载的镜像打包到压缩包nginx.tar 中 -o 保存为什么名字

在这里插入图片描述
删除镜像:

docker rmi nginx:latest

在这里插入图片描述
在这里插入图片描述
发现已经没了nginx了,不过我们之前打过包,加载一下就好了
加载打包镜像:

docker load  -i nginx.tar

在这里插入图片描述
现在通过nginx镜像创建一个容器
创建并运行Nginx容器

docker run -d --name nginx -p 80:80 nginx

在这里插入图片描述
下面的给的是这个nginx容器唯一标识的id

查看运行中的容器:

docker ps
查看所有的容器:docker ps -a
格式化输出内容:docker ps --format "table {{.ID}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"

在这里插入图片描述
在这里插入图片描述
访问也成功

  • 停止容器:
    docker stop mysql
    在这里插入图片描述
    再次启动容器:
    docker start nginx
    在这里插入图片描述
    查看容器日志
  • docker logs nginx
  • docker logs -f nginx //一直查看日志信息,一般做调试时使用

进入Nginx容器:
docker exec -it nginx bash
 -it:添加可输入终端
 nginx:容器名
 bash:命令交换

删除容器:
docker rm nginx -f
 -f:强制删除,未有这个参数就需要关闭容器后再删除

命令别名–简化命令书写

修改/.bashrc文件: vim /.bashrc(.是隐藏)

给命令设置别名,比如说下面
docker ps --format “table {{.ID}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}” 别名为dps
在这里插入图片描述

使.bashrc文件生效:
source /.bashrc
在这里插入图片描述

docker-compose

Docker Compose通过一个单独的docker-compose.yml模板文件(YAML格式)来定义一组相关联的应用容器,帮助我们实现多个相互关联的Docker容器的快速部署。

它可以同时启动多个容器

 docker-compose是一个容器编排工具(自动化部署、管理);
 它用来在单台 Linux 服务器上运行多个 Docker 容器;
 docker-compose 使用 YAML 文件来配置所有需要运行的 Docker 容器,该 YAML 文件的默认名称为docker-compose.yml

常用命令

#创建容器
docker-compose up -d
//拉取docker-compose.yml这个文件中对应的容器的镜像,以及启动容器

#启动、停止、重启容器
docker-compose start
docker-compose stop
docker-compose restart

加粗样式#查看容器
docker-compose ps -a

命令格式 docker compose [OPTIONS] [COMMAND]
在这里插入图片描述
注释:以上命令需要在docker-compose.yml 文件同目录下执行

安装docker-compose工具:apt-get install docker-compose

检测是否安装成功: docker-compose version
在这里插入图片描述

多容器部署

 使用 YAML 文件来配置所有需要运行的 Docker 容器:nginx与redis
 该 YAML 文件的默认名称为docker-compose.yml
在这里插入图片描述

docker inspect 镜像id //查看镜像详细信息

 创建并启动所有service容器:docker-compose up -d
在这里插入图片描述
 查看容器:docker-compose ps -a
在这里插入图片描述
停止容器:docker-compose stop
在这里插入图片描述
启动容器:docker-compose start
在这里插入图片描述
连接开放服务
在这里插入图片描述
在这里插入图片描述
重启容器:
docker-compose restart
在这里插入图片描述

对应靶场目录下使用命令 docker-compose up -d 启动靶场(目录下有一个docker-compose.yml文件
在这里插入图片描述

docker-compose down 删除容器

相关推荐

  1. docker基础

    2024-05-04 02:00:02       31 阅读
  2. Docker基础

    2024-05-04 02:00:02       41 阅读
  3. docker基础

    2024-05-04 02:00:02       38 阅读
  4. docker基础

    2024-05-04 02:00:02       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-04 02:00:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-04 02:00:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-04 02:00:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-04 02:00:02       20 阅读

热门阅读

  1. 概述小样本学习的具体应用场景

    2024-05-04 02:00:02       16 阅读
  2. 寻找自己的25号底片

    2024-05-04 02:00:02       12 阅读
  3. 上海计算机学会2023年9月月赛C++丙组T1口令的分类

    2024-05-04 02:00:02       12 阅读
  4. 238. 除自身以外数组的乘积/41. 缺失的第一个正数

    2024-05-04 02:00:02       14 阅读
  5. 模型蒸馏吼吼吼

    2024-05-04 02:00:02       13 阅读
  6. DAY123

    2024-05-04 02:00:02       11 阅读
  7. 边缘计算的挑战和机遇

    2024-05-04 02:00:02       15 阅读
  8. 【笔试题汇总】华为春招笔试题题解 2024-4-24

    2024-05-04 02:00:02       12 阅读
  9. 【C++】移动构造函数

    2024-05-04 02:00:02       12 阅读
  10. 安卓数据库SQLite

    2024-05-04 02:00:02       11 阅读
  11. opencv merge使用

    2024-05-04 02:00:02       17 阅读