Docker的基本使用

121 阅读3分钟
  • Docker

    • Docker入门

      • 1.安装

        • 然后更新本地镜像源:
        • docker-ce为社区免费版本:yum install -y docker-ce
      • 2.卸载(可选)

      • 3.启动docker

        • Docker应用需要用到各种端口,逐一去修改防火墙设置。非常麻烦,因此建议大家直接关闭防火墙!
        • 启动docker:

    • redis

      • 拉取镜像:docker pull <镜像名称>:<版本号>
      • Docker挂载配置文件:

        • 以配置文件方式启动redis 容器。(挂载:即将宿主的文件和容器内部目录相关联,相互绑定,在宿主机内修改文件的话也随之修改容器内部文件)
        • 1)、挂载 redis 的配置文件。路径为:/U_Pan/wk/myredis/myredis.conf
        • 2)、挂载 redis 的持久化文件(为了数据的持久化)。路径为:/U_Pan/wk/myredis/data
      • 启动:docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name myredis -v /U_Pan/wk/myredis/myredis.conf:/etc/redis/redis.conf -v /U_Pan/wk/myredis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 000415

        • docker run :创建一个新的容器并运行一个命令
        • --restart=always 总是开机启动
        • -p 6379:6379 将6379端口挂载出去
        • --name 给这个容器取一个名字
        • -v 数据卷挂载
        • -d redis 表示后台启动redis
        • redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf
        • –appendonly yes 开启redis 持久化
        • –requirepass 000415 设置密码 (如果你是通过docker 容器内部连接的话,就随意,可设可不设。但是如果想向外开放的话,一定要设置
      • 查看启动状态:docker ps -a |grep myredis # 通过docker ps指令查看启动状态,是否成功
      • 查看容器运行日志:docker logs --since 30m <容器名>

        • --since 30m 是查看此容器30分钟之内的日志情况。
      • 进入容器,进入容器:docker exec -it myredis redis-cli;进入后还得进行密码设置
      • 停止运行的容器:docker stop myredis
      • 删除容器:docker rm myredis
    • 数据卷

      • Docker 中的数据卷,它能够实现宿主机与容器之间的文件共享,它的好处在于我们对宿主机的文件进行修改将直接影响容器,而无需再将宿主机的文件再复制到容器中。
    • 基本命令

      • docker ps:查看哪些容器在运行
      • docker stop id:停止运行的容器
    • 安装MySQL

      • 在将课前资料中的mysql.tar文件上传到虚拟机的/tmp目录:
      • 通过load命令加载为镜像:docker load -i mysql.tar
      • 创建目录

        • 创建两个目录,作为数据库的数据卷:
        • mkdir -p /tmp/mysql/data
        • mkdir -p /tmp/mysql/conf
      • 将课前资料提供的my.cnf文件上传到/wk/mysql/conf
      • 启动

    • 对于images和container的区别

      • 其中images很好理解,跟平常使用的虚拟机的镜像一个意思,相当于一个模版,而container则是images运行时的的状态。
      • docker对于运行过的image都保留一个状态(container),可以使用命令docker ps来查看正在运行的container,对于已经退出的container,则可以使用docker ps -a来查看。 如果你退出了一个container而忘记保存其中的数据,你可以使用docker ps -a来找到对应的运行过的container使用docker commit命令将其保存为image然后运行。