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創(chuàng)建文件夾
mkdir /data/logs #創(chuàng)建data->logs文件夾
# cp復制文件夾听怕、文件
cp /data/logs /data/local/logs #把/data下的logs文件夾復制到/data/local下
cp /data/test.txt /list/ #把data下的test.txt文件復制到/list/下
# touch創(chuàng)建文件
touch test.js #在當前文件夾創(chuàng)建test.js
# vim 修改文件
vim test.js #修改test.js
查看docker工作區(qū)間
cd ~/workspace/+服務名
docker-compose.yml配置文件
version: '2' # docker-compose 目前擁有 3 個版本穆役。因為每個版本間粱挡,均不互相兼容何暮,所以除了第一個版本裤园,其它版本均需執(zhí)行此關鍵字
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 均是設置環(huán)境變量的關鍵字
#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中沒有時區(qū)數據包)
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 # 設置鏡像內的環(huán)境變量
RUN mkdir -p $WORK_DIR \
&& mkdir -p $LOG_DIR # RUN 用于構建鏡像時,執(zhí)行命令沛简。在以后啟動容器時齐鲤,并不會再次執(zhí)行 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"] # 用于在容器啟動時给郊,執(zhí)行命令
# 當 Dockerfile 內含有多個 CMD 命令時,只有最后一個會被執(zhí)行 (可用ENTRYPOINT替換)
# ENTRYPOINT: 無論在什么情況下啟動容器捧灰,都會執(zhí)行淆九;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