美文网首页
springboot之docker

springboot之docker

作者: eliteTyc | 来源:发表于2019-12-16 11:25 被阅读0次
  • 安装docker
yum install docker
  • 启动docker
systemctl start docker
  • 检查docker是否启动成功
docker -v
显示:Docker version 1.13.1, build 7f2769b/1.13.1
  • 修改docker国内镜像加速
    • 访问 阿里云docker加速
    • vim /etc/docker/daemon.json
      {
        "registry-mirrors": ["加速地址"]
      }
      
    • 使生效:sudo systemctl daemon-reload
    • 重启docker服务:sudo systemctl restart docker
  • 设置docker开机自启
systemctl enable docker
  • 停止docker服务
systemctl stop docker
  • docker常用操作
    1. 检索:docker search mysql(需要搜索的镜像名称)
    INDEX       NAME                                        DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
    docker.io   docker.io/mysql                             MySQL is a widely used, open-source relati...   8930      [OK]       
    docker.io   docker.io/mariadb                           MariaDB is a community-developed fork of M...   3140      [OK]       
    docker.io   docker.io/mysql/mysql-server                Optimized MySQL Server Docker images. Crea...   659                  [OK]
    docker.io   docker.io/percona                           Percona Server is a fork of the MySQL rela...   462       [OK]       
    docker.io   docker.io/centos/mysql-57-centos7           MySQL 5.7 SQL database server                   66                   
    docker.io   docker.io/centurylink/mysql                 Image containing mysql. Optimized to be li...   61                   [OK]
    docker.io   docker.io/mysql/mysql-cluster               Experimental MySQL Cluster Docker images. ...   59                   
    docker.io   docker.io/deitch/mysql-backup               REPLACED! Please use http://hub.docker.com...   41                   [OK]
    docker.io   docker.io/bitnami/mysql                     Bitnami MySQL Docker Image                      35                   [OK]
    docker.io   docker.io/tutum/mysql                       Base docker image to run a MySQL database ...   34                   
    docker.io   docker.io/schickling/mysql-backup-s3        Backup MySQL to S3 (supports periodic back...   28                   [OK]
    docker.io   docker.io/prom/mysqld-exporter                                                              23                   [OK]
    docker.io   docker.io/linuxserver/mysql                 A Mysql container, brought to you by Linux...   22                   
    docker.io   docker.io/centos/mysql-56-centos7           MySQL 5.6 SQL database server                   17                   
    docker.io   docker.io/circleci/mysql                    MySQL is a widely used, open-source relati...   16                   
    docker.io   docker.io/mysql/mysql-router                MySQL Router provides transparent routing ...   14                   
    docker.io   docker.io/arey/mysql-client                 Run a MySQL client from a docker container      13                   [OK]
    docker.io   docker.io/openshift/mysql-55-centos7        DEPRECATED: A Centos7 based MySQL v5.5 ima...   6                    
    docker.io   docker.io/fradelg/mysql-cron-backup         MySQL/MariaDB database backup using cron t...   4                    [OK]
    docker.io   docker.io/genschsa/mysql-employees          MySQL Employee Sample Database                  3                    [OK]
    docker.io   docker.io/ansibleplaybookbundle/mysql-apb   An APB which deploys RHSCL MySQL                2                    [OK]
    docker.io   docker.io/devilbox/mysql                    Retagged MySQL, MariaDB and PerconaDB offi...   2                    
    docker.io   docker.io/jelastic/mysql                    An image of the MySQL database server main...   1                    
    docker.io   docker.io/monasca/mysql-init                A minimal decoupled init container for mysql    0                    
    docker.io   docker.io/widdpim/mysql-client              Dockerized MySQL Client (5.7) including Cu...   0                    [OK]
    
    
    1. 拉取镜像:docker pull mysql(镜像名称,也就是上一步搜索结果NAME字段中去掉docker.io/后的名称)
      • 默认下载的是latest版本的镜像,需要下载其他版本可以使用:docker pull mysql:5.5(版本号)
    2. 查看镜像列表:docker images
    3. 删除镜像:
      • 删除未运行过的镜像
        1. 直接:docker rmi 镜像id
      • 删除已运行过的镜像
        1. 先删除运行时生成的容器
          • docker ps -a 查看所有的容器
          • 如果当前容器在运行:docker stop 容器id
          • 当前容器未运行:docker rm 容器id
        2. 删除镜像:docker rmi 镜像id
    4. 运行镜像
    docker run -p 80:8080 --name 自己给容器取的名字 -d 镜像的名称:版本号
    例如:docker run -p 3306:3306 --name MyMySql -d mysql:latest
    --name是给容器去一个别名  -d是表示后台运行,否者命令行窗口关闭,容器就停止运行了
    -p 8888:8080 设置端口映射,前一个端口为主机的端口,后一个端口为docker的端口,意思是访问主机的8888端口相当于访问docker的8080端口
    注意:不同镜像的运行方式,所带参数不同,可以根据官方文档进行运行
    
    1. 查看容器列表 docker ps -a
    2. 查看容器的启动日志: docker logs 容器id
  • 其他操作
    • 修改原镜像生成新的镜像
      1.运行tomcat镜像
       // -d 表示后台运行,否则控制台一退出,tomcat也退出了
       docker run -d -p 8888:8080 tomcat
      
      2.进入tomcat容器删除doc文件夹
      // 进入正在运行的容器
      docker exec -it 容器id /bin/bash
      // 进入/usr/local/tomcat/webapps 删除doc目录
       rm -rf doc
      
      3.生成新的容器
      docker commit -a="tyc" -m="没有doc的tomcat容器" 4f8827c136ee elitetyc/tomcat:1.0
      
      4.查看镜像并且运行
      //docker images
      elitetyc/tomcat                1.0                 51983f8840ee        54 seconds ago      507MB
      // docker run -d -p 8888:8080 51983f8840ee(生成的镜像的id)
      
  • 制作镜像
    • 1.编写Dockerfile文件
//从那个基础镜像开始构建
FROM centos
// 设置一个变量 mypath 为/tmp
ENV mypath /tmp
// 将登录目录设置为tmp
WORKDIR $mypath
// 执行命令安装vim和网络工具
RUN yum -y install vim
RUN yum -y install net-tools
// 对外暴露80端口
EXPOSE 80
// 打印输出提示
CMD echo "构建成功..."
CMD /bin/bash
  • 构建镜像
    1.进入编写dockerfile的目录执行以下命令
    docker build -t 要生成的镜像名称:版本号 .
    
    注意:最后一个点表示在当前目录下寻找dockerfile文件

相关文章

网友评论

      本文标题:springboot之docker

      本文链接:https://www.haomeiwen.com/subject/btwrnctx.html