Docker使用记录

Docker

  1. 简介

    Docker是一个开源的应用容器引擎;是一个轻量级容器技术;

    Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;

    运行中的这个镜像称为容器,容器启动是非常快速的。

  2. Docker核心概念

    docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);

    docker客户端(Client):连接docker主机进行操作;

    docker仓库(Registry):用来保存各种打包好的软件镜像;

    docker镜像(Images):软件打包好的镜像;放在docker仓库中;

    docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用

  3. 使用Docker的步骤:

    • 安装Docker的系统的linux内核高于3.10

      uname -r
      
    • 安装Docker

      yum -y install docker
      
    • 查看docker版本

      docker -v
      
    • 查看docker 状态启动 停止 和开机自启

      service docker status //查看状态
      service docker start //开启
      service docker stop  //停止
      systemctl enable docker //docker 开机自启
      

    1. docker 常用命令

    1. 镜像操作

      操作命令说明
      检索docker search 关键字 eg:docker search redis我们经常去docker hub上检索镜像的详细信息,如镜像的TAG。
      拉取docker pull 镜像名:tag:tag是可选的,tag表示标签,多为软件的版本,默认是latest
      列表docker images查看所有本地镜像
      删除docker rmi image-id删除指定的本地镜像

      修改 /etc/docker/daemon.json ,写入如下内容(如果文件不存在请新建该文件)

      vim /etc/docker/daemon.json
      
      # 内容:
      
      {
      "registry-mirrors":["http://hub-mirror.c.163.com"]
      }
      
    2. 重启docker 服务

      service docker restart
      
    3. 下载选择具体的版本可以从https://hub.docker.com/ 中搜索

    docker pull mysql:5.7.31
    

    2.容器操作

    软件镜像----运行镜像----产生一个容器

    1. 搜索镜像

      docker search tomcat

    2. 拉取镜像

      docker pull tomcat

    3. 根据镜像启动容器

      docker run --name mytomcat -d tomcat:latest

      –name:给容器起个名字
      -d:后台启动,不加就是前端启动,然后你就只能开一个新的窗口连接,不然就望着黑乎乎的窗口,啥也干不了,Ctrl+C即可退出,当然,容器也会关闭

    4. 查看运行中的容器

      docker ps

      docker ps -a 查看所有的容器

    5. 停止运行中的容器

      dacker stop 容器的id
      docker stop  容器的名称,就是--name给起的哪个名字
      
    6. 启动容器

      docker start 容器Id或名字
      
    7. 删除一个容器

      docker rm 容器id/名字
      
    8. 启动一个做了端口映射的tomcat

    docker run -d -p 8888:8080 tomcat
    
    -d :后台运行 -p: 将主机的端口映射到容器的一个端口 `主机端口(8888)`:`容器内部的端口(8080)
    

    外界通过主机的8888端口就可以访问到tomcat,前提是8888端口开放

    1. 关闭防火墙

      # 查看防火墙状态
      service firewalld status
      
      # 关闭防火墙
      service firewalld stop
      
    2. 查看容器日志

      docker logs 容器id/名字
      

    3.MySql

    docker pull mysql:5.7.28
    
    • 运行容器

      docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.28

    • --name mysql:容器的名字是mysql;

      MYSQL_ROOT_PASSWORD=root:root用户的密码是root (必须指定)

      连接容器内mysql

      在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:

      • docker attach
      • docker exec:推荐使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。
      docker exec -it mysql bashCopy to clipboardErrorCopied
      

      -i: 交互式操作。

      -t: 终端。

      mysql: 名为mysql的 镜像。

      bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash,也可以用/bin/bash

      连接上以后就可以正常使用mysql命令操作了

      mysql -uroot -prootCopy to clipboardErrorCopied
      

      直接使用端口映射更加方便

      docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.28
      
    mysql其他命令

    高级命令

    docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
    把主机的、/my/custom文件夹挂载到 /etc/mysql/conf.d 文件夹里面改mysql的配置文件就只需要把mysql的配置文件放在/my/custom 下
    
    
    ocker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    指定mysql的一些参数
    如果想查看可用选项的完整列表
     docker run -it --rm mysql:tag --verbose --help
     
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值