docker常用操作

docker解决了什么问题?

  • 包装整个环境
  • 隔离应用
  • 快速扩展、弹性伸缩

docke核心技术

  • Build
  • Ship
  • Run

Docker镜像

  • 镜像存储采用linux联合文件(unionfs)分层,每层文件系统都是只读,每层加载完成之后,这些文件看作是同一个目录


    docker常用操作_第1张图片
    镜像分层.png

Docker容器

  • 容器的本质就是一个进程,容器最上面那层是可写的,同一个镜像可以生成多个容器,独立运行。

Docker仓库

  • 使用国内docker镜像仓库地址:
    hub.docker.com
    c.163.com
  • 自己搭建镜像中心

第一个docker镜像

docker pull [OPTIONS] NAME[:TAG] --拉取镜像
docker images [OPTIONS] [REPOSITORY[:TAG]] --查看镜像
docker run [OPTIONS] IMAGE [:TAG] [COMMAND] [ARG...] --运行镜像

docker运行Nginx

  • 持久运行的容器
  • 前台挂起&后台运行
  • 进入容器内部
    docker pull hub.c.163.com/library/nginx:latest
    docker ps --查看正在运行的容器
    docker run -d hub.c.163.com/library/nginx:latest --后台运行nginx容器
    docker exec [OPTIONS] CONTAINER COMMAND [ARG...] --进入容器内部
    docker exec -it f4 bash --进入容器内部的bash环境

docker网络

  • 网络类型 --linux的隔离性用namesapce来实现资源的隔离,如:pid namespace、mount namespace、network namespace
  • Bridge(桥接模式,独立的网络环境)
  • Host(和主机使用同一个network namespace)
  • None模式
  • 端口映射:容器上的端口可以在主机上访问到
    docker run -d -p 8081:80 hub.c.163.com/library/nginx --开放指定端口映射
    docker run -d -P hub.c.163.com/library/nginx --开放所有端口映射

制作自己的镜像

  • Dockerfile:怎么样去制作自己的镜像、制作镜像的操作
  • docker build -t 镜像标签 镜像当前存放目录 --执行Dockerfile里面所描述的每件事情,构建出docker镜像
    Jpress:[http://jpress.io/]
  • Dockerfile内容:
from hub.c.163.com/library/tomcat
MAINTAINER xuming [email protected]
COPY jpress.war /usr/local/tomcat/webapps

运行自己的镜像

docker run -d -p 8888:8080 jpress --运行容器
docker restart CONTAINER ID --重启容器

docker images往往不知不觉就占满了硬盘空间,为了清理冗余的image,可采用以下方法:

  1. 停止所有的container,这样才能够删除其中的images:
    docker stop $(docker ps -a -q)
  2. 如果想要删除所有container的话再加一个指令:
    docker rm $(docker ps -a -q)
  3. 查看当前有些什么images
    docker images
  4. 删除images,通过image的id来指定删除谁
    docker rmi
  5. 想要删除untagged images,也就是那些id为的image的话可以用
    docker rmi $(docker images | grep "^" | awk "{print $3}")
  6. 要删除全部image的话
    docker rmi $(docker images -q)
  7. 删除已经退出的容器
    docker rm $(docker container ls -f "status=exited" -q)
  8. 删镜像步骤:
    先停容器,再删容器,最后删镜像

内容回顾:

  • 集装箱、标准化、隔离
  • 镜像 容器 仓库(Build Ship Run)
  • docker 命令 pull build run stop restart exec

你可能感兴趣的:(docker常用操作)