Docker必知必会

常用命令

  • 查看镜像
    1
    docker images
  • 拉取镜像
    1
    docker pull
  • 删除镜像
    1
    docker rmi

创建容器

  • 创建交互式容器
    1
    docker run -it --name=c1 centos7
  • exit 可以退出容器终端
  • 查看容器信息
    1
    docker ps -a
  • 以守护进程启动nginx
    1
    docker run -d --name=c2 nginx:1.12\(注释:斜杠换行) -p 8080:80
  • 启动已停止的容器
    1
    docker start 名字
  • 进入交互式容器
    1
    docker exec -it 名字 /bin/bash
  • 停止容器
    1
    docker stop 名字
  • 删除容器
    1
    docker rm 容器名

数据卷

  • 本质上是一个目录,共享目录,在创建容器时,同时将目录挂载到了容器中,删除容器不会讲数据卷中的数据删除掉 -i 交互 -t 终端 -d 守护进程
    1
    docker run -it --name=c1  -v /root/docker/data:/root/docker/data centos:7

数据卷容器

  • 启动c1容器并挂载
    1
    docker run -it --name=c1 -v /volume centos:7
  • 启动c2容器并集成c1容器的数据卷挂载关系
    1
    docker run -it --name=c2 --volumes-from c1 centos:7
  • 查看容器的详细信息
    1
    docker inspect c2

docker部署mysql

  • 启动mysql并挂载目录
    1
    docker run-id --name=test_mysql -p 3306:3306 -v /root/mysql/conf:/etc/mysql/conf.d -v /root/docker/logs:/logs -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=5201314 mysql:5.6
  • 进入容器看一下
    1
    docker exec -it test_mysql /bin/bash

docker部署tomcat

  • apache开源的web服务器
    1
    docker run -id test_tomcat -p 8080:8080 -v &pwd:/usr/local/tomcat/webapps tomcat

docker镜像原理

linux一切都是文件

  • 底层 bootloader+kernel=boot file system=bootfs 文件引导系统
  • 二层 root file system=rootfs 例如 /etc /sbin /root /dev Linux各种发行版都是基于rootfs
  • 容器创建了可读写的rootfs然后调用内核,所以容器小而快