李斯特 发表于 2019-2-21 10:14:32

Docker常用命令整理

  一、Docker镜像管理:

  1、搜索镜像
  docker search
  2、获取镜像
  docker pull
  3、查看镜像
  docker images
  4、删除镜像(操作前先检查)
  docker rmi
  5、保存镜像
  docker save spring-boot-docker-o/home/wzh/docker/spring-boot-docker.tar
  6、加载镜像
  docker load -i spring-boot-docker.tar
  7、镜像挂载
  把一个宿主机上的目录挂载到镜像里。
  docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu64 /bin/bash
  默认挂载的路径权限为读写。如果指定为只读可以用:ro
  docker run -it -v /home/dock/Downloads:/usr/Downloads:ro ubuntu64 /bin/bash
  二、Docker容器管理
  1、启动容器
  docker run --name -h hostname
  2、停止容器
  docker stop CONTAINER ID
  3、查看容器
  docker ps –a -l
  4、进入容器
  docker exec | docker attach |nsenter
  5、删除容器
  docker rm
  如果希望批量删除所有已经退出的容器,可以执行docker rm -v $(docker ps -aq -f status=exited)
  6、列出本机正在运行的容器
  docker container ls
  7、列出本机所有容器,包括终止运行的容器
  docker container ls --all
  8、强制终止容器
  docker container kill
  9、重启容器
  docker restart
  说明:
  a、容器可能会因某种错误而停止运行。对于服务类容器,我们通常希望在这种情况下容器能够自动重启。启动容器时设置 --restart 就可以达到这个效果。
  b、--restart=always 意味着无论容器因何种原因退出(包括正常退出),就立即重启。该参数的形式还可以是 --restart=on-failure:3,意思是如果启动进程退出代码非0,则重启容器,最多重启3次。
  三、Docker网络访问
  1、随机映射
  docker run -P
  2、指定映射
  -p hostPort:containerPort
  -p ip:hostPort:containerPort
  -p ip::containerPort
  -p hostPort:containerPort:udp
  -p 81:80 –p 443:443
  数据集:
  -v /data
  -v src:dst
  数据集容器:
  --volumes-from
  三、Dockerfile
  * 基础镜像信息
  * 维护者信息
  * 镜像操作指令
  * 容器启动时执行指令
  FROM这个镜像的妈妈是谁?(指定基础镜像)
  MAINTAINER告诉别人,谁负责养它?(指定维护者信息)
  RUN    你想让它干啥(在命令前面加上RUN即可)
  ADD给它点创业资金(COPY文件,会自动解压)
  WORKDIR我是cd,今天刚化了妆(设置当前工作目录)
  VOLUME          给它一个存放行李的地方(设置卷,挂载主机目录)
  EXPOSE它要打开的门是啥(指定对外的端口)
  CMD            奔跑吧,兄弟!(指定容器启动后的要干的事情)
  四、image文件
  1、列出本机的所有image文件
  docker image ls
  2、删除image文件
  docker image rm
  3、将image 文件从仓库抓取到本地
  docker image pull
  4、为本地的image标注用户名和版本
  docker image tag koa-demos:0.0.1 ruanyf/koa-demos:0.0.1
  参考资料:
  ```
  # This docker file uses the centos image
  # VERSION 1
  # Author: Jason Zhao
  # Base image
  FROM centos
  # Maintainer
  MAINTAINER shundong.zhao zhaoshundong@gmail.com
  #Commands to update the image
  ADD pcre-8.37.tar.gz /usr/local/src/
  ADD nginx-1.9.3.tar.gz /usr/local/src/
  RUN yum install -y wget gcc gcc-c++ openssl-devel make
  RUN useradd -s /sbin/nologin -M www
  WORKDIR /usr/local/src/nginx-1.9.3
  RUN ./configure --prefix=/usr/local/nginx --user=www --group=www \
  --with-http_ssl_module --with-http_stub_status_module --with-file-aio \
  --with-http_dav_module --with-pcre=/usr/local/src/pcre-8.37 && make && make install
  RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf
  ENV PATH /usr/local/nginx/sbin:$PATH
  EXPOSE 80
  CMD ["nginx"]
  ```
  五、其它常用的命令
  1、启动已经生成、已经停止运行的容器文件
  docker container start
  2、停止容器
  docker container stop
  3、查看容器的日志
  docker container logs
  4、进入容器
  docker container exec -it /bin/bash
  5、拷贝容器中的文件到本机
  docker container cp : .
  6、拷贝文件到docker容器中
  docker cp /etc/passwd :
  7、查看docker网络
  docker network ls
  8、用于显示每个容器各种资源的使用情况
  docker container stats
  9、查看容器运行了哪些进程
  docker container top
  参考资料:
  http://www.runoob.com/docker/docker-command-manual.html
  https://www.cnblogs.com/anliven/p/6218741.html
  
  



页: [1]
查看完整版本: Docker常用命令整理