个人Dockerfile分享

nginx

复制代码
[root@docker docker]# cat Dockerfile 
FROM nginx:1.20.1-alpine
COPY /dist  /usr/local/web/
COPY nginx.conf /etc/nginx/nginx.conf
CMD ["nginx", "-g", "daemon off;"]

user nginx;

worker_processes auto;

error_log /var/log/nginx/error.log notice;

pid /var/run/nginx.pid;

events {

worker_connections 1024;

}

http {

include /etc/nginx/mime.types;

default_type application/octet-stream;

log_format main '$remote_addr - r e m o t e u s e r remote_user \[ remoteuser\[time_local "KaTeX parse error: Double superscript at position 32: ... '̲status b o d y b y t e s s e n t " body_bytes_sent " bodybytessent"http_referer" '

'" h t t p u s e r a g e n t " " http_user_agent" " httpuseragent""http_x_forwarded_for"';

access_log /var/log/nginx/access.log main;

sendfile on;

keepalive_timeout 65;

server {

listen 80;

server_name localhost;

real_ip_header X-Real-IP;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

复制代码
location / {
  root   /usr/local/web;
  index  index.html;
  try_files $uri $uri/ /index.html;
}
error_page   500 502 503 504  /50x.html;
location = /50x.html {
  root   /usr/share/nginx/html;
}

}

}

centos

复制代码
FROM centos:centos7.9.2009

ENV LC_ALL="en_US.utf8"

RUN yum install -y wget &&

rm -rf /etc/yum.repos.d/* &&

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo &&

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo &&

yum update -y &&

yum install -y telnet net-tools vim &&

yum clean all &&

rm -rf /tmp/* rm -rf /var/cache/yum/* &&

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&

echo "Asia/Shanghai" > /etc/timezone

CMD "/bin/bash"

java

复制代码
FROM anapsix/alpine-java:8u202b08_jdk

RUN echo 'http://mirrors.ustc.edu.cn/alpine/v3.5/main' > /etc/apk/repositories

&& echo 'http://mirrors.ustc.edu.cn/alpine/v3.5/community' >>/etc/apk/repositories

&& apk update && apk add tzdata

&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \

&& echo "Asia/Shanghai" > /etc/timezones

CMD "/bin/bash"

rocksdb

复制代码
FROM centos:centos7

USER root

ADD go1.17.linux-amd64.tar.gz /usr/local/

ADD cmake-3.6.0-Linux-x86_64.tar.gz /data

ADD gflags-2.2.2.tar.gz /data

ADD rocksdb-6.4.6.tar.gz /data

ADD zstd-1.1.3.tar.gz /data

RUN yum install -y gcc gcc-c++ lrzsz git lz4-devel snappy snappy-devel zlib zlib-devel bzip2 bzip2-devel lz4 lz4-devel &&

cd /data &&

yum remove cmake &&

echo "export PATH=$PATH:/data/cmake-3.6.0-Linux-x86_64/bin" >> /etc/profile &&

source /etc/profile &&

echo "export GOROOT=/usr/local/go" >> /etc/profile &&

echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile &&

source /etc/profile &&

cd /data/gflags-2.2.2 && mkdir build && cd build &&

cmake -DBUILD_SHARED_LIBS=ON -DBUILD_STATICaaa_LIBS=ON -DINSTALL_HEADERS=ON -DINSTALL_SHARED_LIBS=ON -DINSTALL_STATIC_LIBS=ON ... &&

make -j 5 && make install &&

echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib" >> /etc/profile &&

cd /data/zstd-1.1.3 &&

make -j 5 && make install &&

cd /data/rocksdb-6.4.6 &&

make -j 5 static_lib &&

make -j 5 shared_lib &&

cp librocksdb.so.6.4.6 /usr/local/lib &&

ln -s librocksdb.so.6.4.6 /usr/local/lib/librocksdb.so.6.4 &&

ln -s librocksdb.so.6.4.6 /usr/local/lib/librocksdb.so.6 &&

ln -s librocksdb.so.6.4.6 /usr/local/lib/librocksdb.so &&

echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib" >> /etc/profile &&

source /etc/profile

CMD tail -f /etc/hosts

#!/bin/bash

rocksdb_datadir=/data/rocksdbTemp

mkdir -p ${rocksdb_datadir}

cd /data

cat > rocksdbtest.cpp << EOF

#include

#include

#include "rocksdb/db.h"

#include "rocksdb/slice.h"

#include "rocksdb/options.h"

using namespace std;

using namespace rocksdb;

const std::string PATH = "${rocksdb_datadir}"; //rocksDB的数据存储目录绝对路径

int main(){

DB* db;

Options options;

options.create_if_missing = true;

Status status = DB::Open(options, PATH, &db);

assert(status.ok());

Slice key("test01");

Slice value("success");

复制代码
std::string get_value;
status = db->Put(WriteOptions(), key, value);
if(status.ok()){
    status = db->Get(ReadOptions(), key, &get_value);
    if(status.ok()){
        printf("value is %s\n", get_value.c_str());
    }else{
        printf("get failed\n"); 
    }
}else{
    printf("put failed\n");
}

delete db;

}

EOF

g++ -std=c++11 -o rocksdbtest2 rocksdbtest.cpp -I /data/rocksdb-6.4.6/include -L/data/rocksdb-6.4.6 -lrocksdb -ldl

./rocksdbtest2

相关推荐
huainingning几秒前
个人版WorkBuddy编写设备巡检并导出设备配置python脚本
开发语言·python
苹果二5 分钟前
【案例说明】能源行业中融合知识图谱、LLM与AI Agent的知识工程实践
人工智能·ai智能体·pem·phm·能源行业·知识工程·pqm
陈童学哦6 分钟前
NestJS集成LangChain两条路:封装库躺平 vs 手动硬撸
人工智能
markvivv8 分钟前
【译】适合在RTX 5090、DGX Spark或类似机器上可运行的最佳新模型是什么?
大数据·人工智能·spark
caimouse8 分钟前
ReactOS 窗口系统分析(31):TextOutW 文本输出全链路 — 从用户函数到显示缓冲区的旅程
网络·人工智能·计算机视觉
sunneo9 分钟前
每周GitCode开源项目精选
人工智能
zhangfeng113311 分钟前
HiDevLab vCANNLab(昇腾两个云端WebIDE)安装codebuddy
人工智能·ai编程·算子开发
leeyi11 分钟前
Agent 间 Transfer 交接:用户在不同 Agent 间无缝切换(第93篇-E79)
人工智能·aigc·agent
很楠爱上13 分钟前
从“AI 看合同”到可举证的合同决策链:CounterClause(对薄) 的架构设计与工程实践
人工智能·经验分享·python·学习·agent
Java后端的Ai之路14 分钟前
02、Python普通工厂模式
开发语言·人工智能·python·设计模式·普通工厂模式