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


    今日内容概要

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

    内容详细

    1、服务部署

    # 装 mysql  redis ---》源码编译安装--》启# 有了docker后,容器操作系统+软件---》拉取一个redis镜像---》运行起来---》容器里就有 redis服务了---》做好端口映射---》就相当于在宿主机上装了个虚拟机,虚拟机里装了个redis
    
    
    # redis的部署
    	-如果本地没有这个镜像---》运行镜像---》会先拉取--》然后在运行
    	docker pull redis
        
    	-容器中的redis运行时候,有配置文件,用我写的配置文件,-v 映射 (宿主机写个配置文件,让容器中的redis用)
        
    	-redis运行产生数据--》放在容器中--》容器删除数据就没了---》数据映射到宿主机-->以后删了容器,数据还在---》只要再启动起一个容器---》做好目录映射,数据自然都在了
      
    
      
    ### 这个,数据目录没有映射出来,配置文件使用容器默认的---》但是这种不用
    docker run -di --name=myredis -p 6379:6379 redis
      
    
    
    ##### 操作流程
    # 第一步:启动容器,名字叫 redis_6379,配置文件自己写,数据目录映射出来,两个目录映射:配置,数据目录,运行容器的时候,执行 redis-server /etc/redis/redis.conf 配置文件
    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
     
    docker logs 容器名字  # 查看容器日志
    
    
    # 第二步:远程连接redis
    	-存入数据
    	bgsave
      
        
    # 第三步:删除容器
    	docker rm id# 第四:再启动reddis
    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
          
          
          
    ######### mysql 部署
    docker pull mysql:5.7
        
    # -e 是环境变量---》容器运行时传入,看文档才知道有哪些参数
    # 使用了默认配置,把数据目录映射出来
    # root用户默认不允许远程登陆
    docker run -di --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
            
    # 进去授权 允许远程登陆
    grant all privileges on *.* to 'root'@'%' identified by 'Lqz12345?';
    
    # 配置文件用宿主机的,数据目录映射出来到宿主机
    # mysql的配置文件 自行创建配置文件 my.cnf
    [mysqld]
    user=mysql
    character-set-server=utf8
    default_authentication_plugin=mysql_native_password
    secure_file_priv=/var/lib/mysql
    expire_logs_days=7
    sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
    max_connections=1000
    
    # 运行容器
    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
              
    # nginx部署
    docker pull nginx
    docker run -di --name=mynginx -p 80:80 nginx
    

    2、迁移与备份

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

    3、dockerfile 应用

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

    4、私有仓库

    # docker pull 都是从hub.docker.com 拉的
    
    # 我们公司自己做的镜像,在上面没有---(我可以传上去,不安全)
    
    
    # 自己搭建私有仓库
    https://www.cnblogs.com/liuqingzheng/p/16315254.html
    
  • 相关阅读:
    模式识别 1.距离分类器
    APSIM模型】作物模型应用案例
    传输层中的TCP和UPD协议
    【C++】异常
    jetsonnano部署openpose姿态检测 cuda10.2
    精品基于Uniapp+ssm停车场预约缴费微信小程序的设计与实现
    报错记录:AES加密报错:Illegal key size or default parameters解决方案
    python常用标准库(时间模块time和datetime)
    React如何优化减少组件间的重新Render
    计算机网络学习三(以太网基本概念)
  • 原文地址:https://www.cnblogs.com/jgx0/p/16328261.html