Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

使用 nodejs + docker 搭建图片占位服务 #44

Open
weekeight opened this issue Feb 20, 2016 · 0 comments
Open

使用 nodejs + docker 搭建图片占位服务 #44

weekeight opened this issue Feb 20, 2016 · 0 comments
Labels

Comments

@weekeight
Copy link
Owner

使用 nodejs + docker 搭建图片占位服务

项目地址

关于 docker

docker 简单地理解为一套轻量级的操作系统虚拟化的解决方案,使用docker创建的容器就类似使用 vmware/virtual box/paralles desktop 等虚拟化计划创建虚拟机,可以隔离环境,不会相互影响。

更多详细官方资料

安装docker

mac osx docker 安装

基本概念

docker host(docker主机,服务端):运行容器(PS: 虚拟主机),隔离环境,提供服务

docker client(docker 客户端):连接docker host,操作服务端,生成镜像,创建容器等

容器:沙盒,隔离的运行环境,暴露端口提供服务,不会影响沙盒外的应用

镜像:应用镜像,可把应用所依赖的环境、模块等打包到镜像中,作为一个独立载体单独运行

Dockerfile

几个基本命令:

FROM: 基于哪个镜像(镜像可在docker hub上面搜索,或直接通过命令行 docker search搜索)

ENV: 创建环境变量供容器中的镜像运行时使用

RUN: 安装镜像依赖软件时使用

CMD: 容器启动时执行的命令,一个Dockerfile中只能有一条CMD命令,多条则只执行最后一条CMD,例如:CMD ["npm", "start"](注意:要使用双引号)

EXPOSE: 容器内部服务开启的端口。主机上要用时需要在启动容器时做端口映射:`

docker run --name imageHolderContainer -d -p 3000:8888 image-holder 

COPY: 拷贝命令,用于将项目目录拷贝到容器的位置,配合 WORKDIR 使用

WORKDIR: 工作目录空间

更多官网命令文档

docker 基本命令

// 查看当前主机中有哪些镜像
docker images

// 列出所有容器
docker ps

// 删除镜像
docker rmi

// 删除容器
docker rm

// 生成镜像
docker build -t 镜像名字 .

// 创建容器运行镜像(-d: 在后台运行 -p: 端口映射)
docker run --name 容器名字 -d -p 3000:8888 镜像名字

// 启动/暂停/重启容器
docker start/stop/restart

访问

启动容器后,访问服务需要使用 docker host 的ip访问,即在进入 docker client 的命令行中提示的ip地址

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant