今日内容概要

  • 服务部署
  • 迁移与备份
  • dockerfile
  • 私有仓库

内容详细

1、服务部署

  1. # 装 mysql redis ---》源码编译安装--》启

  2. # 有了docker后,容器操作系统+软件---》拉取一个redis镜像---》运行起来---》容器里就有 redis服务了---》做好端口映射---》就相当于在宿主机上装了个虚拟机,虚拟机里装了个redis
  3. # redis的部署
  4. -如果本地没有这个镜像---》运行镜像---》会先拉取--》然后在运行
  5. docker pull redis
  6. -容器中的redis运行时候,有配置文件,用我写的配置文件,-v 映射 (宿主机写个配置文件,让容器中的redis用)
  7. -redis运行产生数据--》放在容器中--》容器删除数据就没了---》数据映射到宿主机-->以后删了容器,数据还在---》只要再启动起一个容器---》做好目录映射,数据自然都在了
  8. ### 这个,数据目录没有映射出来,配置文件使用容器默认的---》但是这种不用
  9. docker run -di --name=myredis -p 6379:6379 redis
  10. ##### 操作流程
  11. # 第一步:启动容器,名字叫 redis_6379,配置文件自己写,数据目录映射出来,两个目录映射:配置,数据目录,运行容器的时候,执行 redis-server /etc/redis/redis.conf 配置文件
  12. docker run -id -p 6379:6379 --name redis_6379 -v /root/s20/redis.conf:/etc/redis/redis.conf -v /root/s20/data:/data redis redis-server /etc/redis/redis.conf
  13. docker logs 容器名字 # 查看容器日志
  14. # 第二步:远程连接redis
  15. -存入数据
  16. bgsave
  17. # 第三步:删除容器
  18. docker rm id
  19. # 第四:再启动reddis
  20. docker run -id -p 6379:6379 --name redis_6379 -v /root/s20/redis.conf:/etc/redis/redis.conf -v /root/s20/data:/data redis redis-server /etc/redis/redis.conf
  21. ######### mysql 部署
  22. docker pull mysql:5.7
  23. # -e 是环境变量---》容器运行时传入,看文档才知道有哪些参数
  24. # 使用了默认配置,把数据目录映射出来
  25. # root用户默认不允许远程登陆
  26. docker run -di --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
  27. # 进去授权 允许远程登陆
  28. grant all privileges on *.* to 'root'@'%' identified by 'Lqz12345?';
  29. # 配置文件用宿主机的,数据目录映射出来到宿主机
  30. # mysql的配置文件 自行创建配置文件 my.cnf
  31. [mysqld]
  32. user=mysql
  33. character-set-server=utf8
  34. default_authentication_plugin=mysql_native_password
  35. secure_file_priv=/var/lib/mysql
  36. expire_logs_days=7
  37. sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
  38. max_connections=1000
  39. # 运行容器
  40. docker run -di -v /root/s20/mysql/data/:/var/lib/mysql -v /root/s20/mysql/conf.d:/etc/mysql/conf.d -v /root/s20/mysql/my.cnf:/etc/mysql/my.cnf -p 3306:3306 --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
  41. # nginx部署
  42. docker pull nginx
  43. docker run -di --name=mynginx -p 80:80 nginx

2、迁移与备份

  1. # python容器--》装了django 容器反打包成镜像
  2. # 把容器做成镜像
  3. docker commit 容器名字 镜像名字
  4. docker commit django django2.2.2
  5. # 镜像打包成压缩包
  6. docker save -o django2.2.2.tar django2.2.2
  7. # cp给别人---》释放成镜像---》运行起容器
  8. docker load -i django2.2.2.tar

3、dockerfile 应用

  1. # 把容器打包成镜像---》压成压缩文件--》复制给别人---》压缩包很大--》速度慢
  2. # 特别轻量级的方式,可以构建出镜像来,把一个特别小的文件复制给别人,别人一运行就有了镜像
  3. # 它就是一个固定的 Dockerfile 文件,里面写了一些命令
  4. # 通过 docker build -t='django2.0' . 把这个文件构建成镜像
  5. ### dockerfile的命令
  6. FROM image_name:tag # 定义了使用哪个基础镜像启动构建流程
  7. MAINTAINER user_name # 声明镜像的创建者
  8. ENV key value # 设置环境变量 (可以写多条)
  9. RUN command # 是Dockerfile的核心部分(可以写多条)
  10. ADD source_dir/file dest_dir/file # 将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压
  11. source_dir/file dest_dir/file # 和ADD相似,但是如果有压缩文件并不能解压
  12. WORKDIR path_dir # 设置工作目录
  13. # Dockerfile演示
  14. FROM python:3.8.13
  15. MAINTAINER lqz
  16. ENV pwd 123
  17. RUN pip install django==2.2.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
  18. RUN pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
  19. RUN mkdir lqz
  20. ADD ./redis.conf /home/redis.conf
  21. WORKDIR /home # 工作路径是哪
  22. docker build -t='django2.2.2' . # 创建镜像

4、私有仓库

  1. # docker pull 都是从hub.docker.com 拉的
  2. # 我们公司自己做的镜像,在上面没有---(我可以传上去,不安全)
  3. # 自己搭建私有仓库
  4. https://www.cnblogs.com/liuqingzheng/p/16315254.html

docker服务部署、迁移与备份、dockerfile、私有仓库的更多相关文章

  1. CentOS7 docker服务部署

    以下命令可以在root身份下保存为shell脚本直接bash一次性执行 参考: https://yeasy.gitbooks.io/docker_practice/install/centos.htm ...

  2. 定期从Docker上部署的MySQL备份数据

    前段时间公司停电,正巧赶上周一领导要开会要过一遍项目,然而项目所依赖的MySQL数据库是直接部署在宿主机,且因为各人部署方式不同的原因,花了很久才在开会前启动起来.于是开完会后,我第一件事就是把原先依 ...

  3. docker学习(8) 在mac机上搭建私有仓库

    docker的私有仓库类似maven的私服,一般用于公司内部搭建一个类似docker hub的环境,这样上传.下载镜像速度较快,本文将演示如何在mac上利用docker-machine搭建无需SSL证 ...

  4. Docker容器化【Dockerfile编写&&搭建与使用Docker私有仓库】

    # Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启动 掌握Docker镜像与容器相关命令 掌握Tomcat Nginx 等软件的常用 ...

  5. docker swarm overlay stack 服务部署记录

    项目xxx(后端),xxx-ui前端(前后端分离的项目) 依赖mysql,elasticsearch.分别制作了四个镜像来做这件事.希望可以制作跨主机的部署,使用了swarm,以下是学习记录. 参考 ...

  6. Docker私有仓库与Harbor部署使用

    Docker私有仓库与Harbor部署使用 目录 Docker私有仓库与Harbor部署使用 一.本地私有仓库 1. 下载registry镜像 2. 在daemon.json文件中添加私有镜像仓库地址 ...

  7. docker部署mysql,nginx,php,并上传镜像到私有仓库

    前言 最近公司准备把现有环境全部搞成容器化,所以笔者就先了解了一下docker,并搞了一搞,并把自己搞的过程记录下来.话不多说直接开干 环境说明 Centos7 Docker version 18.0 ...

  8. docker 私有仓库简易搭建

    概要 本地私有仓库 局域网私有仓库 总结 概要 docker hub 使用非常方便,而且上面有大量的镜像可以使用. 但是,每次都远程下载镜像速度非常慢,如果能在本地做一个 docker 的仓库,多人协 ...

  9. 企业级Docker私有仓库Harbor

    一.Harbor简介 1.Harbor介绍 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全.标识和管理等,扩展了开源Docke ...

随机推荐

  1. 前端面试题整理——webpack相关考点

    webpack是开发工具,面试考点重点在配置和使用,原理理解不需要太深. 一.基本配置 1.拆分配置和merge 将公共配置跟dev和prod的配置拆分,然后通过webpack-merge对配置进行整 ...

  2. python去除txt文件空白行

    代码: def delblankline(infile, outfile): infopen = open(infile, 'r', encoding="utf-8") outfo ...

  3. 【每日日报】第五十一天---jsp

    1 开始学习JSP的使用 一个简单的jsp代码 <html> <head><title>Hello World</title></head> ...

  4. java中请给出例子程序:找出n到m之间的质数。

    9.1 找出100到200之间的质数.  public class Test {     public static void main(String[] args){         for (in ...

  5. Qt 实现配置 OpenCV 环境,并实现打开图片与调用摄像头

    一.说明 所用QT版本:5.9.1 电脑配置:win10,64位系统 调用的是编译好的:OpenCV-MinGW-Build-4.1.0(稍后放链接) 在大学期间,由于项目需求需要用到QT+openc ...

  6. linux3种安装软件、yum仓库、防火墙、乱码

    Linux中安装软件的三种方式 1.哪三种方式? rpm安装 yum安装 源代码编译安装 2.区别 rpm安装类似于windows中的安装包,下载下来之后直接安装.缺点是不能自己解决依赖. yum安装 ...

  7. Vue使用PostCSS 插件和如何使用sass及常用语法

    为什么要使用PostCss 转换 px 单位的插件有很多,知名的有 postcss-px-to-viewport 和 postcss-pxtorem,前者是将 px 转成 vw,后者是将 px 转成 ...

  8. Django-----cookie&session

    cookie 保存在用户浏览器端的一个键值对(别人给的凭证) 服务端可以向用户浏览器写cookie 客户端每次发请求会携带cookie去(放在请求头里面) 淘宝的cookie  京东的cookie(h ...

  9. 一篇讲清楚String、StringBuffer和StringBuild

    ​ ​ 一.String篇 1.String基本介绍? (jdk文档原文)String类代表字符串. Java程序中的所有字符串文字(例如"abc" )都被实现为此类的实例. 说人 ...

  10. Web3.0应用程序架构

    Web 3.0 应用程序(或"DApps")的架构与 Web 2.0 应用程序完全不同. 以博客园为例,这是一个简洁的博客网站,用户可以发布自己的内容并可以评论他人的内容进行互动. ...