Giter Club home page Giter Club logo

docker-example's Introduction

概述

本项目作为docker的示例,旨在通过将一个简单的web程序构建为一个基于docker的项目,方便后续更换设备导致的各种繁琐的环境搭建和迁移。

除了代码,更多说明可查看注释。

环境

mac-os

  • docker
$ brew cask install docker
  • docker-compose
$ pip install docker-componse

其它

部署

通过docker-compose实现自动化地环境部署。

基本命令

进入工程的目录中,可执行docker-compose命令,其会默认加载当前目录中的docker-compose.yml文件,也可以通过-f参数指定特定目录的配置文件。

构建、启动容器

$ docker-compose up

希望在后台守护执行

$ docker-compose up -d

查看当前所有镜像

$ docker image ls

REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
docker-example_web   latest              17933fa28f33        2 minutes ago       917MB
python               2.7.15              bfa54426aeda        4 days ago          912MB
redis                alpine              b42dc832c855        3 weeks ago         40.9MB

查看当前所有容器

$ docker container ls

CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                    NAMES
eec43c39eac9        redis:alpine         "docker-entrypoint.s…"   2 minutes ago       Up 6 seconds        6379/tcp                 redis-example
267f3b264ac0        docker-example_web   "python app.py"          2 minutes ago       Up 6 seconds        0.0.0.0:5000->5000/tcp   web-example

停止容器

$ docker-compose stop

登录运行中的容器

docker exec -it 容器名称 sh

迁移

  • export/save和load命令
$ docker export <CONTAINER ID> <CONTAINER ID> <CONTAINER ID> ... > /home/export.tar
$ docker load < /home/export.tar
  • export和save的区别

导出后再导入(exported-imported)的镜像会丢失所有的历史,而保存后再加载(saved-loaded)的镜像没有丢失历史和层(layer)。这意味着使用导出后再导入的方式,你将无法回滚到之前的层(layer),同时,使用保存后再加载的方式持久化整个镜像,就可以做到层回滚(可以执行docker tag 来回滚之前的层。

参考

docker-example's People

Contributors

gugugujiawei avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.