Docker学习---搭建Node服务

准备

安装docker


1. 	sudo yum remove docker \
			docker-client \
			docker-client-latest \
			docker-common \
			docker-latest \
			docker-latest-logrotate \
			docker-logrotate \
			docker-engine
2.  sudo yum install -y yum-utils
3.  sudo yum-config-manager \ --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4. sudo systemctl start docker 运行

安装 vim


apt-get  update  完成之后 apt-get install vim 安装vim命令

安装lrzsz


1. yum install -y lrzsz
	rz : 上传文件
	sz anme.txt : 保存文件

Dcoker基础

Docker 基础使用流程,下载镜像(docker pull ***),运行镜像 (dockers run ***)。运行自己的服务时,先构建自己镜像(docker build ***),然后运行镜像 (dockers run ***)。

基本命令行


docker pull nginx (docker pull ***)  下载某个***镜像
docker run --name nginx-test -p 8080:80 -d nginx 运行镜像
docker images 查看下载的镜像
docker ps 查看正在运行的容器
docker ps -a 查看所有的容器
docker rm <id> 删除容器
docker rmi <name/id> 删除镜像
docker build -t name . 构建镜像
docker exec -it <id>  (/bin/bash)(/bin/sh) 进入容器

Docker pull 报错问题

Docker pull 有限制。


1. vim /etc/docker/daemon.json 
2.  加上:  
     "registry-mirrors": [
			    "http://docker.oa.com:8080",
			   "http://csighub.tencentyun.com",
			    "https://ustc-edu-cn.mirror.aliyuncs.com"
			 ]

编写node

使用express框架:
index.js


		const express = require('express');
		const PORT = 4200;
		const HOST = '0.0.0.0';
		const app = express();
		app.get('/', (req, res) => {
		    res.send('<h1>Hello world</h1>');
		});
		app.listen(PORT, HOST);
		console.log(`Running on http://${HOST}:${PORT}`);

编写Dockerfile

Dockerfile 文件主要用于docker 构建运行是操作。


#   容器环境
FROM node:8

#  工作区文件夹
WORKDIR /usr/src/app

#  复制文件到 工作区文件夹
COPY package*.json ./

#  执行命令
RUN npm install
# 将 所有文件复制到 工作区文件夹
COPY . .

EXPOSE 8080
# 执行命令行 index.js 要跟编写node文件一样
CMD [ "node", "index.js" ] 

发布

  1. 在远程服务器创建一个文件夹 NodeDemo(mkdirNodeDemo )
  2. 进入文件夹,执行 rz, 将index.js, Dockerfile文件丢进来。
  3. 构建镜像docker build -t mynode .
  4. 运行镜像 docker run -dit --name my-node -p 4200:4200 -d mynode
  5. 查看是否运行docker ps

验证

在服务器访问 ip:4200 即可。
Docker学习---搭建Node服务

上一篇:git 使用日常错误总结


下一篇:Git合并分支