zoukankan      html  css  js  c++  java
  • docker入门

    1.docker安装

    sudo apt-get -y install docker-ce
    

    测试安装是否成功

    2.开启,关闭,重启docker

    service docker start
    service docker stop
    service docker restart
    

    3.image文件
    image文件,包含了操作系统,应用程序,依赖等,docker容器根据image文件,生成容器实例。
    同一个image文件,可以生成多个同时运行的容器实例。

    4.从image文件,生成容器

    docker image pull library/hello-world
    

    其中library/可以省略,查看image

    运行image文件

    docker container run hello-world
    

    运行结果:

    docker container run命令会从image文件,生成一个正在运行的容器实例。

    5.生成ubuntu的容器

    docker container run -it ubuntu bash
    

    运行结果:

    -t:进入终端
    -i:在本机窗口输入的命令,会传入container
    bash:在容器中启动bash shell

    退出container

    6.容器常用操作
    1)查看所有容器

    2)查看运行态容易

    3)手动终止某个容器

    docker container kill [containerID]
    

    生成容器后,会产生容器文件,即使已经kill容器了,容器文件依然存在
    若要删除容器文件,需要用rm命令

    docker container rm [containerID]
    

    6.制作自己的image文件
    下例将示例源码制作成image
    1)下载源码

    $ git clone https://github.com/ruanyf/koa-demos.git
    $ cd koa-demos
    

    2)编写.dockerignore文件,加入不想放进image的文件

    3)编写Dockerfile,image配置文件

    FROM node:8.4 image文件继承自官方的8.4版node image
    COPY . /app 将当前目录下的所有文件(除.dockerignore),拷贝进image文件的/app目录
    WORKDIR /app 指定接下来的工作路径是/app
    RUN npm install 在/app目录下,运行npm install命令安装依赖,安装后的所有依赖,都将被打包进image文件
    EXPOST 3000:将容器的3000端口暴露出来,允许外部访问

    4)创建image文件

    $ docker image build -t koa-demo .
    

    -t:指定image的名字,后面可加冒号,指定tag
    .:表示Dockerfile所在路径

    5)查看生成的image文件

    6)从koa-demo生成容器

    -p:容器的3000端口映射到本机的8000端口
    -it:在本机窗口输入的命令,会传入container
    koa-demo: image文件名字
    /bin/bash:进入容器后,执行的第一个命令,启动bash

    运行正常,会进入koa-demo image的工作目录app

    输入node demos/01.js,启动node进程,浏览器访问8000端口如下:

    7)将命令写入Dockerfile,自动执行

    FROM node:8.4
    COPY . /app
    WORKDIR /app
    RUN npm install --registry=https://registry.npm.taobao.org
    EXPOSE 3000
    CMD node demos/01.js
    

    容器启动后会自动执行node /demos/01.js命令

    8)RUN和CMD命令的区别
    RUN用在构建阶段,执行的结果都会打包进image
    CMD用在容器启动后执行
    所以RUN命令可以有很多个,CMD命令只能有一个

    9)发布image文件
    暂略

    7.其他常用命令
    1)docker container start [containerID]
    新建某个容器,容器可能是运行,或停止状态的容器文件

    2)docker container stop [containerID]
    与docker container kill的区别在于,kill是发送SIGKILL信号,强制结束
    stop是发送SIGTERM信号,过一会才发SIGKILL信号,我们在接收到SIGTERM信号后,可以人为决定要不要SIGKILL

    3)docker container logs
    查看docker容器的输出

    4)docker container exec
    作用于运行中的容器,docker run时没有使用-it参数,则要用这个命令进入容器,一旦进入,就可以执行shell命令了

    5)docker container cp
    拷贝container文件到本地

  • 相关阅读:
    POJ1061:青蛙的约会+POJ2115C Looooops+UVA10673Play with Floor and Ceil(扩展欧几里得)
    扩展欧几里得算法
    常用数学公式
    实训作业
    sdut 迷之容器(线段树+离散化)
    HDU1556:Color the ball(简单的线段树区域更新)
    HDU1698:Just a Hook(线段树区域更新模板题)
    32位的二进制数
    HDU5139:Formula(找规律+离线处理)
    HDU5023:A Corrupt Mayor's Performance Art(线段树区域更新+二进制)
  • 原文地址:https://www.cnblogs.com/shijingjing07/p/9343252.html
Copyright © 2011-2022 走看看