Docker学习笔记

概述

  • 简介

    • Docker是一个开源的应用容器引擎
    • Docker可以让开发者打包他们的应用以及依赖包到一个轻量级的、可移植的容器中,然后发布到任何流行的Linux机器上
    • 容器是完全使用沙箱机制,相互隔离
    • 容器性能开销极低
    • 解决的是软件跨环境迁移的问题
  • 安装

请添加图片描述

  • 架构

请添加图片描述

docker命令

  • 服务相关

    • 启动:systemctl start docker
    • 停止:systemctl stop docker
    • 重启:systemctl restart docker
    • 查看:systemctl status docker
    • 设置:systemctl enable docker
  • 镜像相关

    • 查看:docker images
    • 搜索:docker search 镜像名称
    • 拉取:docker pull 镜像名称
    • 删除:docker rmi 镜像id
  • 容器相关

    • 查看正在运行的容器:docker ps #
    • 查看所有容器:docker ps -a
    • 创建并启动容器:docker run 参数
      • -i:保持容器运行
      • -t:为容器重新分配一个伪输入终端
      • -d:以守护模式运行容器
      • -it创建的容器一般为交互式容器,-id创建的容器一般为守护式容器
      • –name:为创建的容器命名
    • 进入容器:docker exec 参数
    • 停止容器:docker stop 容器名称
    • 启动容器:docker start 容器名
    • 删除容器:docker rm 容器名称

数据卷

  • 数据卷

    • 数据卷是宿主机中的一个目录或文件
    • 当容器目录和数据卷目录绑定后,对方的修改会立即同步
    • 一个数据卷可以被多个容器同时挂载
    • 一个容器也可以被挂在多个数据卷
  • 作用

    • 容器数据持久化
    • 外部机器和容器见解通信
    • 容器之间数据交换
  • 配置数据卷

    • docker run … -v 宿主机目录:容器内目录
  • 注意事项

    • 目录必须是绝对路径
    • 如果目录不存在,会自动创建
    • 可以挂载多个数据卷

应用部署

MySQL

1.搜索mysql镜像:docker search mysql

2.拉取mysql镜像:docker pull mysql :5.6

3.创建容器,设置端口映射、目录映射

请添加图片描述

参数:

请添加图片描述

4.进入容器,操作mysql

docker exec -it c_mysql/bin/bash

5.使用外部机器连接容器中的mysql

Tomcat

1.搜索tomcat镜像:docker search tomcat

2.拉取tomcat镜像:docker pull tomcat

3.创建容器,设置端口映射、目录映射

请添加图片描述

4.使用外部机器访问tomcat

Nginx

创建容器,设置端口映射、目录映射

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

参数:

请添加图片描述

Redis

1.搜索redis镜像:docker search redis

2.拉取redis镜像:docker pull redis:5.0

3.创建容器,设置端口映射:docker run -id --name=c_redis -p 6379:6379 redis:5.0

4.使用外部机器连接redis

./redis-cli.exe -h 192.168.149.135 -p 6379

Dockerfile

  • 镜像原理

请添加图片描述

  • 镜像制作
    • 容器转为镜像
      • docker commit 容器id 镜像名称:版本号
      • docker save -o 压缩文件名称 镜像名称:版本号
      • docker load -i 压缩文件名称

Docker私有仓库

  • 私有仓库的搭建

请添加图片描述

  • 将镜像上传到私有仓库

请添加图片描述

  • 拉取镜像
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值