Docker学习总结

Docker简述

  Docker是一个快速交付应用、运行应用的技术:
    -1.可以将程序及其依赖、运行环境一起打包为一个镜像,可以迁移到任意linux操作系统
    -2.运行时利用沙箱机制锌层隔离容器,各个应用互不干涉
    -3.启动、移除都可以通过一行命令完成,方便快捷
  Docker和虚拟机的差异
    -Docker是一个系统进程;虚拟机是在操作系统中的操作系统
    -Docker体积小、启动速度快、性能好;虚拟机体积大、启动速度慢、性能一般
  镜像
    -将应用程序机器依赖、环境、配置打包在一起
  容器
    -镜像运行起来就是容器,一个镜像可以运行多个容器

  Docker结构
    -服务端:接收命令或远程请求,操作镜像或容器
    -客户端:发送命令或者请求到Docker服务器
  DockerHub
    -一个镜像托管的服务器,类似的还有阿里云镜像服务,统称为DockerRegistry

   镜像主要操作
    -docker images 查看
    -docker rmi     删除
    -docker pull   拉取远程镜像
    -docker push  推送镜像到远程
    -docker save  保存镜像
    -docker load  加载镜像
   Docker容器相关命令
    -docker exec 进入容器执行命令  -it 给当前进入的容器创建一个标准输入输出终端,允许欧盟与容器交互  mn:要进入的容器的名称   bash:进入容器后执行的命令,bash是一个Linux、终端交互命令
    -docker logs 查看容器运行日志
    -docker ps 查看所有运行的容器及状态  -a 查看所有状态的容器
    -docker run 传概念并运行一个容器  --name  xxx(容器名) -p 80:80 -d nginx
    -docker pause 暂停
    -docker unpause 结束暂停
    -docker stop 停止
    -docker start 重新运行
    -docker rm   删除容器  -f删除运行中
  数据卷
       将容器与数据分离,解耦合,方便操作容器内数据,保证数据安全
    -docker volume create  xxx 创建数据卷
    -docker volume ls 查看数据卷

    -docker volume inspect  xxx 查看数据卷想起信息

    -docker volume rm xxx 删除数据卷

    docker run  -v 数据卷:容器目录 参数挂在一个数据卷到容器目录
        1 -v volume名称:容器内目录
        2 -v 宿主机文件:容器内文件
    数据卷挂载与目录直接挂载的
        1 数据卷挂载耦合度低,由docker来管理目录,但是目录较深,不好找
        2 目录挂载耦合度高,需要我们自己管理目录,不过目录容易寻找查找

 DockerFile
    就是一个文本文件,其中包含一个个指令,用指令来说明要执行什么操作来构建镜像。

#指定基础镜像
FROM Ubuntu:16.04
#配置环境变量,jdk安装目录
ENV JAVA_DIR=/usr/local
#拷贝jdk和java项目包
COPY ./jdk8.tar.gz $JAVA_DIR
COPY ./docker-demo.jar /tmp/app.jar

#安装jdk
run cd $JAVA_DIR \
 && tar -xf ./jdk8.tar.gz \
&& mv ./jdk1.8.0_144 ./java8

#配置环境变量
ENV JAVA_HOME=$JAVA_DIR/java8
ENV PAH=$PATH:$JAVA_HOME/bin

#暴露端口
EXPOSE 8090

#入口。java项目的启动命令
ENYPAONT java -jar /tmp/app.jar


运行 docker build -t name:1.0   //创建docker文件

DockerCompose
     Docker Compose可以基于compose文件帮我们快熟的部署分布式应用,而无需手动一个个创建和运行容器。


注意                 

镜像仓库推送前需要把仓库地址配置到docker服务的daemon.json文件中,被Docker信任
 推送镜像到私有镜像服务必须先tag,步骤如下:
    1 重新tag本地镜像,名称前缀为私有仓库的地址:192.168.11.101:8080
        docker tag nginx:latest 192.168.11.101:8080/nginx:1.0
    2 推送镜像 docker push 192.168.11.101:8080/nginx:1.0
    3 拉取镜像 docker pull 192.168.11.101:8080/nginx:1.0

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值