美文网首页
docker介绍序列二

docker介绍序列二

作者: Best博客 | 来源:发表于2019-08-21 15:06 被阅读0次

语法篇

三种常见场景:


  1. docker 直接命令操作场景
docker ps -a        //查看docker容器列表
docker images    //查看镜像列表

docker network create my_host   //现在创建一个网络名为my_host且driver为bridge的网络:(默认创建的就是bridge)
docker network ls     //查看local的网络信息:
root@iZ23ool90rrZ:~# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
e952d3d2bc4a        bridge              bridge              local
ceb501b609f1        host                host                local
19bf38749c2e        none                null                local

docker run -dit --name php-fpm7 -v /var/www /var/www -p 8000:80 --network=host --network-alias phphost php-fpm:v1.5            //在镜像的基础下生产一个容器(2种结局:1.运行成功,2.运行失败,失败请:docker logs 容器id查看运行失败日志)
docker cp ./nginx.conf 容器id:/etc/nginx/            //将宿主机执行该命令的当前路径下的./nginx.conf 复制到容器的指定路径  /etc/nginx/ 下
docker exec -it nginx cat /etc/nginx/nginx.conf   //查看nginx容器里面的  /etc/nginx/nginx.conf 的内容,同理: docker exec -it nginx nginx reload
docker inspect 容器id    //查看一个容器的信息
docker start 容器di     //启动一个容器
docker stop 容器id    //停止一个容器
docker pull    //从远程仓库拉取镜像
docker commit 容器id 镜像id     //将容器的变动提交到镜像(镜像A,生成了容器B,但是这个容器B在启动后我们手动在容器里面又加了很多拓展配置等,这个时候容器B与镜像A就不对等了,通过此命令可以将容器B新增的部分同步到镜像A,但请注意镜像A会被改变)
docker tag ubuntu:15.10 runoob/ubuntu:v3   //将镜像ubuntu:15.10标记为 runoob/ubuntu:v3 镜像     //修改镜像名称
docker build -t nginx ./  //docker引擎会在执行该命令的相对路径下找到Dockerfile并构造镜像取名为nginx

docker top 容器id   //查看容器里面执行top命令的结果:
root@iZ23ool90rrZ:~# docker top nginx-v1-host
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                23078               23058               0                   Aug20               pts/0               00:00:15            top
root                23125               23058               0                   Aug20               pts/1               00:00:00            bash
root                23146               23078               0                   Aug20               ?                   00:00:00            nginx: master process nginx
www-data            26222               23146               0                   Aug20               ?                   00:00:00            nginx: worker process

docker stats  //执行结果如下
CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
da99c8f6cf8c        nginx-v1-host       0.00%               4.777MiB / 3.851GiB   0.12%               0B / 0B             6.37MB / 0B         4
23d99bfea820        version2-go         0.00%               1.02MiB / 3.851GiB    0.03%               32.5kB / 16.1kB     1.36MB / 0B         3
26370e0fb610        version1-go         0.00%               1004KiB / 3.851GiB    0.02%               11.1kB / 7.03kB     3.42MB / 0B         3
f210956f5620        php-fpm             0.00%               51.64MiB / 3.851GiB   1.31%               206MB / 580kB       76.9MB / 3.53GB     10
405da9390f9e        developer-v1        0.00%               2.645MiB / 3.851GiB   0.07%               4.65MB / 3.19MB     13MB / 0B           5

  1. Dockerfile编写场景

FROM ubuntu     //功能为指定基础镜像,并且必须是第一条指令。

MAINTAINER hugo   //作者

WORKDIR /usr/local/www    //工作目录,也就是后面我在执行所有命令的时候都是在这个路径之下的

ARG DEBIAN_FRONTEND=noninteractive    //在Dockerfile中使用的环境变量,在build docker imag的过程中有效,构建完容器后就不再起作用

ENV LANG C.UTF-8    //构建容器过程,到容器运行的时候都会起作用的环境变量

ADD ./test ./     //一个复制命令,把文件复制到景象中。你可以把它当scp命令

COPY ./test ./test2   //一个复制命令,把文件复制到景象中。但只能复制你本地的文件


RUN set -ex \
 && apt-get update \
 && apt-get -y install ca-certificates wget unzip \
 && apt-get install git

EXPOSE 8087   //暴露容器的端口,被暴露了的端口,容器间是可以相互通讯的,当然前提是容器所处一个network,

CMD /bin/bash ./test2    //CMD是容器启动时执行的命令,在构件时并不运行,构件时紧紧指定了这个命令到底是个什么样子

VOLUME ["/data"]   //docker inspect 容器id


ENTRYPOINT ["./test"]  //这个命令是用来执行容器启动后执行的初始化命令,有点像开机自启动.这里重点强调  docker run,docker start 等都会去执行它,你可以理解成 容器只要变成运行状态,都会执行它

docker-compose 文档

    //Compose和Docker兼容性:
    //Compose 文件格式有3个版本,分别为1, 2.x 和 3.x
   // 目前主流的为 3.x 其支持 docker 1.13.0 及其以上的版本

version: '2'
services:
  web:
    image: dockercloud/hello-world
    ports:
      - 8080
    networks:
      - front-tier
      - back-tier
 
  redis:
    image: redis
    links:
      - web
    networks:
      - back-tier
 
  lb:
    image: dockercloud/haproxy
    ports:
      - 80:80
    links:
      - web
    networks:
      - front-tier
      - back-tier
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock 
 
networks:
  front-tier:
    driver: bridge
  back-tier:
driver: bridge

相关文章

  • docker介绍序列二

    语法篇 三种常见场景: docker 直接命令操作场景 Dockerfile编写场景 docker-compose...

  • docker介绍序列一

    介绍 首先搞清我们的目的,其实应用程序我放宿主机照样能运行,只是放宿主中会有这么些问题: 如果这个应用程序是多人开...

  • HTML-无序列表

    一、无序列表 1-1无序列表介绍 1-2无序列表展示 二、有序列表 2-1有序列表介绍 2-2有序列表展示

  • 序列分析

    本篇文章介绍的序列分析主要是针对二代测序数据。 当前的序列分析主要包括以下方面:序列预处理、序列拼接、短序列映射和...

  • NSJSONSerialization简介

    NSJSONSerialization 类介绍: 序列化 & 反序列化 反序列化:从服务器接收到 二进制数据 转换...

  • 二叉树的三种遍历方法

    二叉树的序列化 为了方便构造二叉树来验证我们的算法,这里先介绍下二叉树的序列化和反序列化。 序列化 先序遍历整颗二...

  • 二叉树的遍历

    本节主要介绍如何根据二叉树的遍历序列还原二叉树 1.根据前序遍历序列ABCDEF和中序遍历序列CBAEDF如何判断...

  • 我的Docker之旅,文章目录,欢迎关注

    我的Docker之旅 第一部分:介绍 第一篇:《Docker之docker简介》第二篇:《Docker之docke...

  • 二进制安装docker

    前言 本文介绍如何在centos 7下二进制安装dokcer安装docker 版本为Docker version ...

  • docker ps详解

    docker ps介绍 docker ps [OPTIONS] docker rm $(docker ps -q ...

网友评论

      本文标题:docker介绍序列二

      本文链接:https://www.haomeiwen.com/subject/jvsesctx.html