准备
安装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" ]
发布
- 在远程服务器创建一个文件夹 NodeDemo(mkdirNodeDemo )
- 进入文件夹,执行 rz, 将index.js, Dockerfile文件丢进来。
- 构建镜像docker build -t mynode .
- 运行镜像 docker run -dit --name my-node -p 4200:4200 -d mynode
- 查看是否运行docker ps
验证
在服务器访问 ip:4200 即可。