• docker:学习三(docker拉取镜像以及备份迁移) Libbo


    docker安装mysql

    (1)拉取mysql镜像

    docker pull mysql:5.7.36
    

    (2)创建容器
    Host模型

    docker run -di --name=mymysql --net=host -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Libbo.  mysql:5.7.36
    

    p 代表端口映射,格式为 宿主机映射端口:容器运行端口

    -e 代表添加环境变量 MYSQL_ROOT_PASSWORD 是root用户的登陆密码

     查看日志
    docker logs -f mymysql
    查询mysql服务的ip
    docker inspect mymysql
    

    docker安装redis

    (1)拉取镜像

    docker  pull redis 
    
    docker run -di --name=myredis -p 6379:6379 redis
    # 制定配置文件启动
    docker run -v /myredis/conf:/usr/local/etc/redis --name myredis redis redis-server /usr/local/etc/redis/redis.conf  
    

    测试

    redis-cli.exe -h 192.168.0.2 -p 6379
     # 查看日志
    docker logs -f myredis
    

    Docker容器的备份与迁移

    操作步骤

    1、容器保存为镜像

    (1)容器保存为镜像
    docker commit mynginx mynginx_i
    # 目的
    (主要的作用就是配置好的一些容器,可以得到复用,就不需要重新再次配置了)
    (2)镜像备份(==注意是保存在当前执行命令的宿主机上的目录中==)
    docker  save -o mynginx.tar mynginx_i
    (3)镜像恢复与迁移
    docker load -i mynginx.tar
    
    

    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 设置工作目录

    简单的安装jdk步骤

    步骤:
    (1)创建目录
    mkdir –p /usr/local/dockerjdk8
    
    jdk8.tar.gz并上传到服务器中的/usr/local/dockerjdk8目录
    
    
    (3)创建文件Dockerfile 
    vi Dockerfile
    #依赖镜像名称和ID
    FROM centos:7
    #指定镜像创建者信息
    MAINTAINER ITCAST
    #切换工作目录
    WORKDIR /usr
    RUN mkdir  /usr/local/java
    #ADD 是相对路径jar,把java添加到容器中
    ADD jdk8.tar.gz /usr/local/java/
    #配置java环境变量
    ENV JAVA_HOME /usr/local/java/jdk1.8.0_211
    ENV JRE_HOME $JAVA_HOME/jre
    ENV PATH $JAVA_HOME/bin:$PATH
    
    
    (4)执行命令构建镜像
    docker build -t='jdk8' .
    注意后边的空格和点,不要省略
    
    
    (5)查看镜像是否建立完成
    docker images
    或者
    java -version
    

    创建文件Dockerfile 这里的D必须大写

  • 相关阅读:
    MySQL日志15连问
    Call to undefined function cli_set_process_title,cli_set_process_title 信息/选项函数
    swoole 笔记
    linux 查找目录下的所有文件中是否包含某个字符串
    请说下redis命令的时间复杂度??(实际问的是redis底层结构)
    Elasticsearch:Fatal error: Uncaught Error: Class PsrLogNullLogger
    ElasticSearch近实时搜索的实现
    离职后心生不满,西安某医院运维“炫技性报复”破坏诊疗系统,被依法刑拘...
    报错: libmysqlclient.so.20: cannot open shared object file: No such file or directory(亲测可用)
    中国程序员有美国梦吗?
  • 原文地址:https://www.cnblogs.com/Libbo/p/16003175.html
Copyright © 2020-2023  润新知