zoukankan      html  css  js  c++  java
  • docker2

    部署应用映射外部目录

    # 部署redis,把配置文件和数据目录映射出来
    -1 mkdir /reids /redis/conf /redis/data
    -2 vim /redis/conf/redis.conf
            # 配置文件
            bind 0.0.0.0
            daemonize NO
            protected-mode no
            requirepass 123456 # 这个是设置密码.在外部连接的时候就需要输入密码
            
    -3 创建并运行容器
        docker run -p 6378:6379 --name redis_6379 -v /redis/conf/redis.conf:/etc/redis/redis.conf -v /redis/data:/data -di redis redis-server /etc/redis/redis.conf  # 这个映射完之后,就算是容器挂掉了,数据也不会丢失,只要以后在起容器的时候只要映射的路径还是原来的就可以
    -4 本地window机器上远程连接到了docker里的redis
    -5 cmd窗口下
        	redis-cli -h 101.133.225.166 -p 6378
    -6 认证
        	auth 123456
    -7 写入数据
        	set name lqz
    -8 保存数据
        	save或者是bgsave
    -9 在宿主机的/redis/data路径下就能看到一个文件
    -10 不管多少次重启redis容器,数据都还在
    -11 原来的redis容器没了,按照第三步再启动一遍,数据都还在
    

    数据的迁移和备份

    容器保存为镜像

    在容器里安装django的环境

    # 拉python的镜像
    	docker pull python:3.6
    
    # 创建容器在后台运行
    	docker run -id --name:python-container python:3.6
    
    # 进入容器:
    	docker exec -it 容器id/名字 /bin/bash
    
    # 起django
    	pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ django==2.0.7 
        或者
        pip install django==2.0.7
    
    

    在容器外把容器打包成镜像

    docker commit 容器id mydjango # 给这个容器打包成镜像
    

    把镜像打包成压缩包

    docker save -o mydjango.tar mydjango
    			     压缩包        把容器打包成镜像名 
    

    把压缩包恢复成镜像

    docker load -i mydjango.tar
    # 你压缩的是800m,解压的时候只有40m,因为在docker里面有了python基础镜像,不会重复. 假如你去拉一个5G的东西,假如docker里面有基础镜像,不会拉新增部分
    

    自己制作镜像起容器跑项目

    1. 启动一个python容器
    	docker run -id--name=容器名 python:3.6
    
    2. 进去装软件
    	docker exec -it 容器id/名字 /bin/bash
        mkdir /project
        pip install django==1.11.1
       	退出
    
    3. 把项目拷贝到容器内部
    	 docker cp /opt/laz/django_text mypython(容器名或id):/project 
    
    4. 把容器做成镜像
    	docker commit 容器id mydjango # 给这个容器打包成镜像
    5. 基于自己做的镜像运行容器
        docker run  -id --name=mydjango -p 8088:8088  mydjango python /project/django_text/manage.py runserver 0.0.0.0:8088
    

    dockerfile(五颗星)

    dockerfile: 就是一堆指令,可以生成镜像

    1. 对于开发人员: 可以为开发团队提供一个完全一致的开发环境
    2. 对于测试人员: 可以直接拿开发时所构建的镜像或者通过dockerfile文件构建一个新的镜像开始工作
    3. 对于运维人员: 在部署时,可以实现应用的无缝移植
    传统的需要把容器打包发给人家,很大,但是dockerfile拷给别人只需要几kb
    

    dockerfile指令

    命令 作用
    FROM image_name:tag 定义了使用哪个基础镜像启动构建流程
    MAINTAINER user_name 声明镜像的创建者
    ENV key value 设置环境变量 (可以写多条)
    RUN command 是Dockerfile的核心部分(可以写多条)
    ADD source_dir/file dest_dir/file 将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压
    COPY source_dir/file dest_dir/file 和ADD相似,但是如果有压缩文件并不能解压
    WORKDIR path_dir 设置工作目录
  • 相关阅读:
    使用开源GIS克隆一个Google Map
    《3s新闻周刊》No.4:与国产GIS企业一起成长
    Google发布免费的SketchUp
    VB和VBA工程的一些限制
    推荐一个新的RSS阅读站点:抓虾
    USGS如何利用Google Earth
    ESRI今年的Dev Summit的幻灯片
    Google Map创建工具和资源
    《3s新闻周刊》第6期发布,本期话题:海外聚焦――空间信息技术进行式
    《Excel与VBA程序设计》最新进度(>75%)
  • 原文地址:https://www.cnblogs.com/zc110/p/14640702.html
Copyright © 2011-2022 走看看