工作机器常用总结
2020-02-26 本文已影响0人
peroLuo
linux常用命令
# cd进入某个路径
cd /
# ls查看目录或文件夹
ls / #显示目录下所有文件及文件夹
ls -l /data #显示/data目录下所有文件及文件夹详细信息
# cat查看文件内容
cat /sys/devices/system/cpu/online #读取 /sys/devices/system/cpu/路径下online文件内容。
cat test.txt #读取当前路径下test.txt文件内容。
# rm删除文件或文件夹 rm 参数 文件、文件夹
rm test.txt #删除test.txt
rm -f path #强制删除path目录
# mkdir创建文件夹
mkdir /data/logs #创建data->logs文件夹
# cp复制文件夹、文件
cp /data/logs /data/local/logs #把/data下的logs文件夹复制到/data/local下
cp /data/test.txt /list/ #把data下的test.txt文件复制到/list/下
# touch创建文件
touch test.js #在当前文件夹创建test.js
# vim 修改文件
vim test.js #修改test.js
查看docker工作区间
cd ~/workspace/+服务名
docker-compose.yml配置文件
version: '2' # docker-compose 目前拥有 3 个版本。因为每个版本间,均不互相兼容,所以除了第一个版本,其它版本均需执行此关键字
services:
oem-frontend:
image: hub.docker.ipin.com/front/wmzy-pc:oem-latest # image 是从 Docker Hub 的镜像库中导入镜像,使用方法和 Dockerfile 的 FROM 关键字相同
container_name: oem-frontend #表示compose启动一个container的命名
mem_limit: 2048m
network_mode: host #网络模式 host模式下容器不会获得一个独立的network namespace,而是与宿主机共用一个。这就意味着容器不会有自己的网卡信息,而是使用宿主机的。默认是bridge模式。
volumes: #挂载一个目录或者一个已经存在的数据卷容器
- /data/log/oem_node/oem-frontend:/data/log
- /data/service/oem_node/config/oem-frontend/config.prod.json:/usr/src/app/config/config.prod.json
# ports:
# - "5101:5102" #设置容器映射到本地的端口,可以配置一个或多个端口映射,格式为 $(本地端口):$(容器端口)
extra_hosts:
- "javaservers:192.168.150.19"
logging: &log_opt
driver: "json-file"
options:
max-size: "100k"
max-file: "20"
#其它未用到的关键字
#env_file 和 environment 均是设置环境变量的关键字
#restart:配置容器运行中因任何问题停止后的重启方式。通常设置为 always —— 总是重启
#links 和 depends_on 关键字均是配置容器间的链接关系。
# depends_on 配置后,此容器一定在已配置的容器启动成功之后才会启动;links 配置后,容器的启动顺序并无固定关系。
Dockerfile配置文件
# wmzy-pc
# VERSION 1.0.0
# Author: zhuyuanhao
FROM node:10.17-alpine # FROM 关键字=>导入一个基础镜像作为本镜像的底层(Apline、一个面向安全应用的轻量级系统)
MAINTAINER zhuyuanhao zhuyuanhao@ipin.com
# Setting time zone (alpine中没有时区数据包)
RUN echo "https://mirrors.ustc.edu.cn/alpine/v3.6/main" > /etc/apk/repositories && \
echo "https://mirrors.ustc.edu.cn/alpine/v3.6/community" >> /etc/apk/repositories && \
apk update && apk add ca-certificates && \
apk add tzdata && \
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
echo "Asia/Shanghai" > /etc/timezone
ENV WORK_DIR /usr/src/app
ENV LOG_DIR /data/log # 设置镜像内的环境变量
RUN mkdir -p $WORK_DIR \
&& mkdir -p $LOG_DIR # RUN 用于构建镜像时,执行命令。在以后启动容器时,并不会再次执行 RUN 的命令
WORKDIR $WORK_DIR # 设置镜像的工作目录
COPY . $WORK_DIR # ADD 和 COPY 都是往镜像内添加文件或文件夹的命令,但是 ADD 比 COPY 更高级.(ADD特点:1.原路径可以是url 2.tar格式自动解压 3.自动赋予600可读写权限)
EXPOSE 8000 # 设置镜像允许外部访问的端口,默认暴露 80 端口
CMD ["./node_modules/.bin/pm2-docker", "process.yml"] # 用于在容器启动时,执行命令
# 当 Dockerfile 内含有多个 CMD 命令时,只有最后一个会被执行 (可用ENTRYPOINT替换)
# ENTRYPOINT: 无论在什么情况下启动容器,都会执行;CMD: 在使用 docker run 命令加上参数启动容器时,则会覆盖掉 CMD 后面的命令
docker-compose常用命令
#显示所有容器
docker-compose ps
#拉取
docker-compose pull ServiceName
#构建并启动容器
docker-compose up -d ServiceName
#进入到容器中
docker-compose exec ServiceName bash
docker-compose exec ServiceName sh
#停止容器
docker-compose stop ServiceName
#重新启动容器(不会更新容器)
docker-compose restart ServiceName
#删除容器(删除前必须关闭容器)
docker-compose rm -f ServiceName
#查看日志
docker-compose logs ServiceName
#查看实时日志
docker-compose logs -f ServiceName
nginx
- nginx安装目录:
cd /etc/nginx/sites-enabled/
- 校验配置是否正确:
sudo nginx -t
- 重启nginx:
sudo nginx -s reload