Giter VIP home page Giter VIP logo

docker's Introduction

用Docker部署一个Node应用


avatar avatar avatar avatar

  1. 制作自己的Docker容器
  2. 用Docker部署

什么是Docker?

打个比方:你如果想玩英雄联盟中*气的亚索,你首先得有这个英雄(Docker的镜像),然后你得花金币去英雄商店(Docker的仓库)买,接着进游戏就会看到一个半蹲的发型飘逸的剑客(Docker的容器)

Docker由仓库(Repository)、镜像(Image)、容器(Container)组成。

安装Docker

  1. 更新yum包
yum update
  1. 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  1. 可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
  1. 选择版本进行安装
yum install docker-ce-17.12.1.ce
  1. 启动Docker
systemctl start docker
  1. 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version

制作自己的 Docker 容器

  1. Dockerfile文件
FROM node:10.15.0
# 将当前目录下的所有文件(除了.dockerignore排除的路径),都拷贝进入 image 文件的/app目录。
COPY . /app
# 指定接下来的工作路径为/app
WORKDIR /app
RUN npm install
# 将容器 3000 端口暴露出来, 允许外部连接这个端口
EXPOSE 3000
CMD ["npm", "start"]
  1. 创建image
docker image build -t koa-demo:0.0.1 .
-t参数用来指定 image 文件的名字,后面还可以用冒号指定标签。如果不指定,默认的标签就是latest
最后的那个点表示 Dockerfile 文件所在的路径,上例是当前路径,所以是一个点
  1. 列出所有镜像
docker image ls
可以看到我们刚才创建的koa-demo镜像了
  1. 启动容器
docker container run -p 8000:3000 -it koa-demo:0.0.1
-p参数:容器的 3000 端口映射到本机的 8000 端口。
-it参数:容器的 Shell 映射到当前的 Shell,然后你在本机窗口输入的命令,就会传入容器
koa-demo:0.0.1:image 文件的名字(如果有标签,还需要提供标签,默认是 latest 标签)
  1. 浏览器访问
localhost:8000

其它命令

# 在仓库下载镜像
$ docker image pull library/hello-world
# 列出所有镜像
$ docker image ls
$ docker image ls --all
# 删除 image 文件
$ docker image rm [imageName]
# 列出本机正在运行的容器
$ docker container ls
# 列出本机所有容器,包括终止运行的容器
$ docker container ls --all
# 终止某容器
$ docker container kill [containID]
# 删除某容器,释放磁盘空间
$ docker container rm [containerID]

参考资料

  1. Docker 入门教程
  2. Centos7下安装Docker(详细的新手装逼教程)
  3. Get Docker Engine - Community for CentOS

docker's People

Contributors

srect avatar

Watchers

 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.