docker使用

简介

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

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


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






核心概念

docker主机(Host)

  • 安装了Docker程序的机器(Docker直接安装在操作系统之上)

docker客户端(Client)

  • 连接docker主机进行操作

docker仓库(Registry)

  • 用来保存各种打包好的软件镜像

docker镜像(Images)

  • 软件打包好的镜像,放在docker仓库中

docker容器(Container)

  • 镜像启动后的实例称为一个容器,容器是独立运行的一个或一组应用



使用Docker的步骤

  1. 安装Docker
  2. 去Docker仓库找到这个软件对应的镜像
  3. 使用Docker运行这个镜像,这个镜像就会生成一个Docker容器
  4. 对容器的启动停止就是对软件的启动停止

Docker常用命令&操作

  • yum安装docker
yum install docker
  • 启动docker
systemctl start docker
  • 开机启动docker
systemctl enable docker
  • 停止docker
systemctl stop docker
  • 查看docker版本  
docker -v

镜像操作

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

容器操作

1.搜索镜像

docker search tomcat

2.拉取镜像

docker pull tomcat

3.根据镜像启动容器

    docker run --name mytomcat -d tomcat:latest
    
    --name: 指定容器名称为mytomcat
    -d: 后台运行
    :latest 启动镜像的tag

4.查看运行中的容器

docker ps

5.停止运行中的容器

docker stop 容器id

6.查看所有的容器

docker ps -a

7.启动容器

docker start 容器id

8.删除一个容器

docker rm 容器id

9.启动一个做了端口映射的tomcat

    docker run -d -p 8888:8080 tomcat
    
    -p 将主机的端口映射到容器的一个端口,主机端口:容器内部的端口

10.查看容器的日志

    docker logs container-name
    docker logs container-id

11.启动容器并设置环境变量

docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

12.挂载配置文件

    docker run --name mysql03 -v /conf/mysql:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql:tag
    
    把主机的/conf/mysql文件夹挂载到mysqldocker容器的/etc/mysql/conf.d文件夹里面,改mysql的配置文件就只需要把mysql配置文件放在自定义的文件夹下(/conf/mysql)

13.进入运行中的docker容器

docker exec -it 容器id /bin/bash

14.获取docker容器/镜像的元数据

docker inspect name/id

15.启动docker容器并自动执行服务启动脚本

    docker run -d -t -v /etc/localfile:/etc/dockerfile  --name service_A tomcat /home/auto_service.sh
        
    /home/auto_service.sh: docker中的启动脚本
    
    示例如下:
    #!/bin/sh
    /bin/serviceA start   #启动服务
    /bin/bash             #保留一个终端,防止容器自动退出

16.提交一个新的image

    docker commit -a "author" -m "commitmessage" -p=false ddf5a63bfa6d imagenamev2:tagv2
    
    -a: 作者
    -m: 提交的信息
    -p: 提交时是否暂停容器的执行,默认true

17.Springboot集成docker

  • pom.xml中配置
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
                <plugin>
                    <groupId>com.spotify</groupId>
                    <artifactId>docker-maven-plugin</artifactId>
                    <version>0.4.14</version>
                    <configuration>
                        <!-- 镜像名称 -->
                        <imageName>${project.artifactId}</imageName>
                        <!-- 依赖的基础镜像 -->
                        <baseImage>java</baseImage>
                        <!-- 容器启动后执行的命令 -->
                        <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
                        <!-- docker远程地址 -->
                        <dockerHost>http://192.168.88.12:2375</dockerHost>
                        <!-- 在构建镜像时使用的文件,一般应用jar包需要纳入 -->
                        <resources>
                            <resource>
                                <targetPath>/</targetPath>
                                <directory>${project.build.directory}</directory>
                                <include>${project.build.finalName}.jar</include>
                            </resource>
                        </resources>
                    </configuration>
                </plugin>
            </plugins>
        </build>
  • 开启docker远程API操作端口2375
        vi /usr/lib/systemd/system/docker.service
        
        将ExecStart这一行后面加上
        -H tcp://0.0.0.0:2375 -H   unix:///var/run/docker.sock
        
        重启docker服务
        systemctl restart docker
  • 打包应用并发布到远程服务器
mvn  clean package docker:build
  • docker命令文档
https://docs.docker.com/engine/reference/commandline/docker/#child-commands
阅读更多
版权声明:欢迎转载,请注明出处,谢谢! https://blog.csdn.net/benhuo931115/article/details/80350665
文章标签: docker Springboot
个人分类: docker
想对作者说点什么? 我来说一句

使用Docker建立Mysql集群

2018年03月24日 103KB 下载

docker入门实战

2014年09月23日 424KB 下载

使用SpringCloud和Docker实战微服务

2018年01月13日 1.55MB 下载

《循序渐进学Docker》.pdf

2017年12月28日 10.92MB 下载

Docker上手操作

2018年01月09日 508KB 下载

Docker源码分析

2018年05月10日 7.55MB 下载

docker入门到实践(pdf版)

2018年01月18日 2.68MB 下载

docker从入门到实践.pdf

2017年11月25日 105B 下载

docker实战指南

2016年09月10日 3.88MB 下载

docker基本使用手册

2018年04月10日 518KB 下载

没有更多推荐了,返回首页

不良信息举报

docker使用

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭