docker入门笔记(视频笔记)

docker 是一个开源的项目,把项目打包一个独立的环境中运行的轻量级环境,可以跨平台运行
解决了运行环境不一致带来的问题,并可以快速扩展
docker 核心:镜像、仓库和容器,从仓库拉取镜像到本地,运行镜像形成容器

  • docker linux 安装
    ​1.获取安装命令
    ​ ​ ​$ sudo wget -qO- https://get.docker .com/ |sh
    ​ ​ ​ ​wget :下载命令
    ​ ​ ​ ​-q : 减少wget的输出
    ​ ​ ​ ​O-: 设置输出为标准输出,直接输出,而不是输出到文件
    ​ ​ ​ ​ ​| sh :把shell 脚本送给shell去执行
    或者通过yum install -y docker 来安装
    ​2. 允许非root用户来运行docker
    ​ ​ ​$ sudo usermod -aG docker {yourusername}
    出现的问题:如果输入命令时出现下面内容,说明docker服务没启动,
    Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
    解决方案:service docker start 启动docker服务
  • docker结构 docker入门笔记(视频笔记)_第1张图片
  1. docker镜像 image:相当于docker的文件存储系统

  2. docker容器 container :相当于一个进程,镜像的每一层都是只读的,只有容器是可写的,如果要修改镜像里面的文件,会把镜像的文件拷贝到容器里进行修改,当应用需要读取一个文件的时候,会先从顶层进行查找,如果没有才会去查找下一层。这样就可以保证一个镜像可以生成多个容器,并且容器之间没有任何干扰

  3. docker仓库 : 用来保存镜像,,除了远程拉取镜像,docker还支持建立本地镜像仓库

  • 常用远程仓库:
    1.hub.docker.com
    2.c.163.com
  • docker架构
    docker入门笔记(视频笔记)_第2张图片
    docker入门笔记(视频笔记)_第3张图片
  1. docker.daemon :负责做各种docker操作,比如下载docker镜像,运行容器等,通过客户端命令来与docker.daemon进行交互,来进行docker操作。
  2. Registry :互联网镜像仓库
    客户端和守护进程进行交互,把命令送给守护进程,获取镜像,运行容器,并且和远端的镜像仓库进行交互
  • 常用命令
    拉取镜像
    docker pull [options] NAME[:TAG]
    查看镜像
    docker images [optings] [REPOSITORY[:TAG]]
    运行容器
    docker run [options] IMAGE[:TAG] [COMMAND] [ARG]

    docker run -d [name] 后台运行

    docker exec -it 【容器id或name】 bash

  • 使用镜像加速
    使用国内的镜像仓库:
    新建并 配置/etc/docker/daemon.json
    在阿里云上申请一个私有的加速镜像地址,具体参考
    https://www.cnblogs.com/atuotuo/p/6264800.html

  • docker 网络:
    docker的网络也是隔离的,

  1. 网络类型
    bridge (有独立的网络networknameSpace )
    host (使用宿主机的ip和端口,容器将不会去配置虚拟网卡等)
    none(无网络,容器将不会与外界进行通讯)
  2. 端口映射 :把容器的端口映射到宿主机,当想访问容器的端口时,可以访问宿主机的端口。
    docker run -d -p 8080:80 nginx 把宿主机的8080 端口 映射到nginx 容器的80端口
  • 制作自己的镜像
  1. Dockerfile:
    from tomcat //首先写的是这个自定义镜像继承的基础镜像的名字
    MAINTAINER ZH //镜像的所有者可不写
    COPY jpress.war /usr/local/tomcat/webapps //拷贝外部应用到容器的路径下

  2. docker build:
    docker build -t [自定义容器的tag] [dockerfile 的目录]

总结:
docker的思想 :
集装箱,标准化,隔离
核心 : 镜像 容器,仓库
命令: pull,build,run ,stop,restart ,exec。。

你可能感兴趣的:(docker)