1. 安装docker环境
略
2. 安装docker-compose工具
2.1.下载地址
https://github.com/docker/compose/releases
2.2.上传到虚拟机的/home/testuser/tmp目录并进入
[root@localhost tmp]# pwd
/home/testuser/tmp
[root@localhost tmp]# ls
docker-compose-Linux-x86_64 docker-yapi
[root@localhost tmp]#
2.3.授权使用
[root@localhost tmp]# cp docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
[root@localhost tmp]# chmod +x /usr/local/bin/docker-compose
[root@localhost tmp]# docker-compose
Define and run multi-container applications with Docker.
Usage:
docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
docker-compose -h|--help
Options:
-f, --file FILE Specify an alternate compose file
(default: docker-compose.yml)
-p, --project-name NAME Specify an alternate project name
(default: directory name)
-c, --context NAME Specify a context name
--verbose Show more output
--log-level LEVEL Set log level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
--no-ansi Do not print ANSI control characters
-v, --version Print version and exit
-H, --host HOST Daemon socket to connect to
--tls Use TLS; implied by --tlsverify
--tlscacert CA_PATH Trust certs signed only by this CA
--tlscert CLIENT_CERT_PATH Path to TLS certificate file
--tlskey TLS_KEY_PATH Path to TLS key file
--tlsverify Use TLS and verify the remote
--skip-hostname-check Don't check the daemon's hostname against the
name specified in the client certificate
--project-directory PATH Specify an alternate working directory
(default: the path of the Compose file)
--compatibility If set, Compose will attempt to convert keys
in v3 files to their non-Swarm equivalent
--env-file PATH Specify an alternate environment file
Commands:
build Build or rebuild services
config Validate and view the Compose file
create Create services
down Stop and remove containers, networks, images, and volumes
events Receive real time events from containers
exec Execute a command in a running container
help Get help on a command
images List images
kill Kill containers
logs View output from containers
pause Pause services
port Print the public port for a port binding
ps List containers
pull Pull service images
push Push service images
restart Restart services
rm Remove stopped containers
run Run a one-off command
scale Set number of containers for a service
start Start services
stop Stop services
top Display the running processes
unpause Unpause services
up Create and start containers
version Show the Docker-Compose version information
[root@localhost tmp]#
3.yapi docker镜像安装
3.1.初始化db, 开启自定义配置
[root@localhost tmp]# git clone https://github.com/Ryan-Miao/docker-yapi.git
Cloning into 'docker-yapi'...
remote: Enumerating objects: 19, done.
remote: Counting objects: 100% (19/19), done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 65 (delta 4), reused 17 (delta 2), pack-reused 46
Unpacking objects: 100% (65/65), done.
[root@localhost tmp]# pwd
/home/testuser/tmp
[root@localhost tmp]# ls
docker-compose-Linux-x86_64 docker-yapi
[root@localhost tmp]#
[root@localhost tmp]# cd docker-yapi/
[root@localhost docker-yapi]# ls
doc docker-compose.yml Dockerfile mongo-conf readme.md repositories
[root@localhost docker-yapi]# docker-compose up
Creating network "docker-yapi_default" with the default driver
Pulling mongo (mongo:4)...
4: Pulling from library/mongo
7595c8c21622: Pulling fs layer
7595c8c21622: Pull complete
d13af8ca898f: Pull complete
70799171ddba: Pull complete
b6c12202c5ef: Pull complete
f8718c532d71: Pull complete
9035443a91bc: Pull complete
93ca553166d9: Pull complete
bc866a5c284c: Pull complete
6faca936e7b3: Pull complete
1dc2a767b81f: Pull complete
56dee77e3145: Pull complete
b967fd908de0: Pull complete
7cd9ac470a46: Pull complete
Digest: sha256:f8c327278bd1a37a5900b2e1ac529221ade80eb54e818e0c3bf04804094c7729
Status: Downloaded newer image for mongo:4
Building yapi
Step 1/4 : FROM node:12-alpine
12-alpine: Pulling from library/node
cbdbe7a5bc2a: Downloading
cbdbe7a5bc2a: Pull complete
091983d60f65: Pull complete
7bacc183740f: Pull complete
c4a5a5d270d4: Pull complete
Digest: sha256:9623cd396644f9b2e595d833dc0188a880333674488d939338ab5fde10ef7c43
Status: Downloaded newer image for node:12-alpine
---> 18f4bc975732
Step 2/4 : COPY repositories /etc/apk/repositories
---> 03f1899faba3
Step 3/4 : RUN npm install -g yapi-cli --registry https://registry.npm.taobao.org
---> Running in de2d3a4dd359
/usr/local/bin/yapi -> /usr/local/lib/node_modules/yapi-cli/bin/yapi-cli
/usr/local/bin/yapi-cli -> /usr/local/lib/node_modules/yapi-cli/bin/yapi-cli
+ yapi-cli@1.5.0
added 254 packages from 124 contributors in 1197.95s
Removing intermediate container de2d3a4dd359
---> f89045a34b1a
Step 4/4 : EXPOSE 3000 9090
---> Running in 38d99f2b3b56
Removing intermediate container 38d99f2b3b56
---> b3e5b43f3477
Successfully built b3e5b43f3477
Successfully tagged yapi:latest
WARNING: Image for service yapi was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Creating docker-yapi_mongo_1 ... done
Creating docker-yapi_yapi_1 ... done
Attaching to docker-yapi_mongo_1, docker-yapi_yapi_1
mongo_1 | about to fork child process, waiting until server is ready for connections.
mongo_1 | forked process: 26
mongo_1 |
mongo_1 | {"t":{"$date":"2020-08-04T12:35:26.326+00:00"},"s":"W", "c":"CONTROL", "id":20698, "ctx":"main","msg":"***** SERVER RESTARTED *****","tags":["startupWarnings"]}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:26.330+00:00"},"s":"I", "c":"CONTROL", "id":23285, "ctx":"main","msg":"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:26.344+00:00"},"s":"W", "c":"ASIO", "id":22601, "ctx":"main","msg":"No TransportLayer configured during NetworkInterface startup"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:26.344+00:00"},"s":"I", "c":"NETWORK", "id":4648601, "ctx":"main","msg":"Implicit TCP FastOpen unavailable. If TCP FastOpen is required, set tcpFastOpenServer, tcpFastOpenClient, and tcpFastOpenQueueSize."}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:26.345+00:00"},"s":"I", "c":"STORAGE", "id":4615611, "ctx":"initandlisten","msg":"MongoDB starting","attr":{"pid":26,"port":27017,"dbPath":"/data/db","architecture":"64-bit","host":"785bfa0474f0"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:26.345+00:00"},"s":"I", "c":"CONTROL", "id":23403, "ctx":"initandlisten","msg":"Build Info","attr":{"buildInfo":{"version":"4.4.0","gitVersion":"563487e100c4215e2dce98d0af2a6a5a2d67c5cf","openSSLVersion":"OpenSSL 1.1.1 11 Sep 2018","modules":[],"allocator":"tcmalloc","environment":{"distmod":"ubuntu1804","distarch":"x86_64","target_arch":"x86_64"}}}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:26.345+00:00"},"s":"I", "c":"CONTROL", "id":51765, "ctx":"initandlisten","msg":"Operating System","attr":{"os":{"name":"Ubuntu","version":"18.04"}}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:26.345+00:00"},"s":"I", "c":"CONTROL", "id":21951, "ctx":"initandlisten","msg":"Options set by command line","attr":{"options":{"net":{"bindIp":"127.0.0.1","port":27017,"tls":{"mode":"disabled"}},"processManagement":{"fork":true,"pidFilePath":"/tmp/docker-entrypoint-temp-mongod.pid"},"systemLog":{"destination":"file","logAppend":true,"path":"/proc/1/fd/1"}}}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:26.347+00:00"},"s":"I", "c":"STORAGE", "id":22315, "ctx":"initandlisten","msg":"Opening WiredTiger","attr":{"config":"create,cache_size=407M,session_max=33000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000,close_scan_interval=10,close_handle_minimum=250),statistics_log=(wait=0),verbose=[recovery_progress,checkpoint_progress,compact_progress],"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.047+00:00"},"s":"I", "c":"STORAGE", "id":22430, "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1596544528:47418][26:0x7f0e34c2ba80], txn-recover: [WT_VERB_RECOVERY | WT_VERB_RECOVERY_PROGRESS] Set global recovery timestamp: (0, 0)"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.070+00:00"},"s":"I", "c":"STORAGE", "id":4795906, "ctx":"initandlisten","msg":"WiredTiger opened","attr":{"durationMillis":1723}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.070+00:00"},"s":"I", "c":"RECOVERY", "id":23987, "ctx":"initandlisten","msg":"WiredTiger recoveryTimestamp","attr":{"recoveryTimestamp":{"$timestamp":{"t":0,"i":0}}}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.110+00:00"},"s":"I", "c":"STORAGE", "id":22262, "ctx":"initandlisten","msg":"Timestamp monitor starting"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.138+00:00"},"s":"W", "c":"CONTROL", "id":22120, "ctx":"initandlisten","msg":"Access control is not enabled for the database. Read and write access to data and configuration is unrestricted","tags":["startupWarnings"]}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.139+00:00"},"s":"W", "c":"CONTROL", "id":22178, "ctx":"initandlisten","msg":"/sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never'","tags":["startupWarnings"]}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.139+00:00"},"s":"W", "c":"CONTROL", "id":22181, "ctx":"initandlisten","msg":"/sys/kernel/mm/transparent_hugepage/defrag is 'always'. We suggest setting it to 'never'","tags":["startupWarnings"]}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.140+00:00"},"s":"I", "c":"STORAGE", "id":20320, "ctx":"initandlisten","msg":"createCollection","attr":{"namespace":"admin.system.version","uuidDisposition":"provided","uuid":{"uuid":{"$uuid":"0dffebb7-5840-46bf-b494-93566c96de02"}},"options":{"uuid":{"$uuid":"0dffebb7-5840-46bf-b494-93566c96de02"}}}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.201+00:00"},"s":"I", "c":"INDEX", "id":20345, "ctx":"initandlisten","msg":"Index build: done building","attr":{"buildUUID":null,"namespace":"admin.system.version","index":"_id_","commitTimestamp":{"$timestamp":{"t":0,"i":0}}}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.202+00:00"},"s":"I", "c":"COMMAND", "id":20459, "ctx":"initandlisten","msg":"Setting featureCompatibilityVersion","attr":{"newVersion":"4.4"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.202+00:00"},"s":"I", "c":"STORAGE", "id":20536, "ctx":"initandlisten","msg":"Flow Control is enabled on this deployment"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.203+00:00"},"s":"I", "c":"STORAGE", "id":20320, "ctx":"initandlisten","msg":"createCollection","attr":{"namespace":"local.startup_log","uuidDisposition":"generated","uuid":{"uuid":{"$uuid":"a6c38f23-2dbf-4966-8070-4f3cd141735e"}},"options":{"capped":true,"size":10485760}}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.251+00:00"},"s":"I", "c":"INDEX", "id":20345, "ctx":"initandlisten","msg":"Index build: done building","attr":{"buildUUID":null,"namespace":"local.startup_log","index":"_id_","commitTimestamp":{"$timestamp":{"t":0,"i":0}}}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.252+00:00"},"s":"I", "c":"FTDC", "id":20625, "ctx":"initandlisten","msg":"Initializing full-time diagnostic data capture","attr":{"dataDirectory":"/data/db/diagnostic.data"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.269+00:00"},"s":"I", "c":"NETWORK", "id":23015, "ctx":"listener","msg":"Listening on","attr":{"address":"/tmp/mongodb-27017.sock"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.269+00:00"},"s":"I", "c":"NETWORK", "id":23015, "ctx":"listener","msg":"Listening on","attr":{"address":"127.0.0.1"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.269+00:00"},"s":"I", "c":"NETWORK", "id":23016, "ctx":"listener","msg":"Waiting for connections","attr":{"port":27017,"ssl":"off"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.271+00:00"},"s":"I", "c":"STORAGE", "id":20320, "ctx":"LogicalSessionCacheRefresh","msg":"createCollection","attr":{"namespace":"config.system.sessions","uuidDisposition":"generated","uuid":{"uuid":{"$uuid":"5bf430dc-1ede-4cec-a748-e6a48b7a6c48"}},"options":{}}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.272+00:00"},"s":"I", "c":"CONTROL", "id":20712, "ctx":"LogicalSessionCacheReap","msg":"Sessions collection is not set up; waiting until next sessions reap interval","attr":{"error":"NamespaceNotFound: config.system.sessions does not exist"}}
mongo_1 | child process started successfully, parent exiting
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.521+00:00"},"s":"I", "c":"INDEX", "id":20345, "ctx":"LogicalSessionCacheRefresh","msg":"Index build: done building","attr":{"buildUUID":null,"namespace":"config.system.sessions","index":"_id_","commitTimestamp":{"$timestamp":{"t":0,"i":0}}}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.521+00:00"},"s":"I", "c":"INDEX", "id":20345, "ctx":"LogicalSessionCacheRefresh","msg":"Index build: done building","attr":{"buildUUID":null,"namespace":"config.system.sessions","index":"lsidTTLIndex","commitTimestamp":{"$timestamp":{"t":0,"i":0}}}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.521+00:00"},"s":"I", "c":"COMMAND", "id":51803, "ctx":"LogicalSessionCacheRefresh","msg":"Slow query","attr":{"type":"command","ns":"config.system.sessions","command":{"createIndexes":"system.sessions","indexes":[{"key":{"lastUse":1},"name":"lsidTTLIndex","expireAfterSeconds":1800}],"writeConcern":{},"$db":"config"},"numYields":0,"reslen":114,"locks":{"ParallelBatchWriterMode":{"acquireCount":{"r":3}},"ReplicationStateTransition":{"acquireCount":{"w":3}},"Global":{"acquireCount":{"w":3}},"Database":{"acquireCount":{"w":3}},"Collection":{"acquireCount":{"r":2,"w":2}},"Mutex":{"acquireCount":{"r":4}}},"flowControl":{"acquireCount":1,"timeAcquiringMicros":2},"storage":{},"protocol":"op_msg","durationMillis":250}}
yapi_1 | 在浏览器打开 http://0.0.0.0:9090 访问。非本地服务器,请将 0.0.0.0 替换成指定的域名或ip
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.595+00:00"},"s":"I", "c":"NETWORK", "id":22943, "ctx":"listener","msg":"connection accepted","attr":{"remote":"127.0.0.1:51962","sessionId":1,"connectionCount":1}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.595+00:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn1","msg":"client metadata","attr":{"remote":"127.0.0.1:51962","client":"conn1","doc":{"application":{"name":"MongoDB Shell"},"driver":{"name":"MongoDB Internal Client","version":"4.4.0"},"os":{"type":"Linux","name":"Ubuntu","architecture":"x86_64","version":"18.04"}}}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.603+00:00"},"s":"I", "c":"NETWORK", "id":22944, "ctx":"conn1","msg":"connection ended","attr":{"remote":"127.0.0.1:51962","connectionCount":0}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.691+00:00"},"s":"I", "c":"NETWORK", "id":22943, "ctx":"listener","msg":"connection accepted","attr":{"remote":"127.0.0.1:51964","sessionId":2,"connectionCount":1}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.691+00:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn2","msg":"client metadata","attr":{"remote":"127.0.0.1:51964","client":"conn2","doc":{"application":{"name":"MongoDB Shell"},"driver":{"name":"MongoDB Internal Client","version":"4.4.0"},"os":{"type":"Linux","name":"Ubuntu","architecture":"x86_64","version":"18.04"}}}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.734+00:00"},"s":"I", "c":"STORAGE", "id":20320, "ctx":"conn2","msg":"createCollection","attr":{"namespace":"admin.system.users","uuidDisposition":"generated","uuid":{"uuid":{"$uuid":"80847642-03c2-4a83-bcb4-31828ffef8e9"}},"options":{}}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.754+00:00"},"s":"I", "c":"INDEX", "id":20345, "ctx":"conn2","msg":"Index build: done building","attr":{"buildUUID":null,"namespace":"admin.system.users","index":"_id_","commitTimestamp":{"$timestamp":{"t":0,"i":0}}}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.754+00:00"},"s":"I", "c":"INDEX", "id":20345, "ctx":"conn2","msg":"Index build: done building","attr":{"buildUUID":null,"namespace":"admin.system.users","index":"user_1_db_1","commitTimestamp":{"$timestamp":{"t":0,"i":0}}}}
mongo_1 | Successfully added user: {
mongo_1 | "user" : "root",
mongo_1 | "roles" : [
mongo_1 | {
mongo_1 | "role" : "root",
mongo_1 | "db" : "admin"
mongo_1 | }
mongo_1 | ]
mongo_1 | }
mongo_1 | Error saving history file: FileOpenFailed Unable to open() file /home/mongodb/.dbshell: No such file or directory
mongo_1 |
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.764+00:00"},"s":"I", "c":"NETWORK", "id":22944, "ctx":"conn2","msg":"connection ended","attr":{"remote":"127.0.0.1:51964","connectionCount":0}}
mongo_1 | /usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/init-mongo.js
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.840+00:00"},"s":"I", "c":"NETWORK", "id":22943, "ctx":"listener","msg":"connection accepted","attr":{"remote":"127.0.0.1:51966","sessionId":3,"connectionCount":1}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.841+00:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn3","msg":"client metadata","attr":{"remote":"127.0.0.1:51966","client":"conn3","doc":{"application":{"name":"MongoDB Shell"},"driver":{"name":"MongoDB Internal Client","version":"4.4.0"},"os":{"type":"Linux","name":"Ubuntu","architecture":"x86_64","version":"18.04"}}}}
mongo_1 | Successfully added user: {
mongo_1 | "user" : "admin",
mongo_1 | "roles" : [
mongo_1 | {
mongo_1 | "role" : "root",
mongo_1 | "db" : "admin"
mongo_1 | }
mongo_1 | ]
mongo_1 | }
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.911+00:00"},"s":"I", "c":"ACCESS", "id":20250, "ctx":"conn3","msg":"Successful authentication","attr":{"mechanism":"SCRAM-SHA-256","principalName":"admin","authenticationDatabase":"yapi","client":"127.0.0.1:51966"}}
mongo_1 | Successfully added user: {
mongo_1 | "user" : "yapi",
mongo_1 | "roles" : [
mongo_1 | {
mongo_1 | "role" : "dbAdmin",
mongo_1 | "db" : "yapi"
mongo_1 | },
mongo_1 | {
mongo_1 | "role" : "readWrite",
mongo_1 | "db" : "yapi"
mongo_1 | }
mongo_1 | ]
mongo_1 | }
mongo_1 |
mongo_1 |
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.958+00:00"},"s":"I", "c":"NETWORK", "id":22944, "ctx":"conn3","msg":"connection ended","attr":{"remote":"127.0.0.1:51966","connectionCount":0}}
mongo_1 |
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.992+00:00"},"s":"W", "c":"CONTROL", "id":20698, "ctx":"main","msg":"***** SERVER RESTARTED *****","tags":["startupWarnings"]}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.994+00:00"},"s":"I", "c":"CONTROL", "id":23285, "ctx":"main","msg":"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.997+00:00"},"s":"W", "c":"ASIO", "id":22601, "ctx":"main","msg":"No TransportLayer configured during NetworkInterface startup"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.997+00:00"},"s":"I", "c":"NETWORK", "id":4648601, "ctx":"main","msg":"Implicit TCP FastOpen unavailable. If TCP FastOpen is required, set tcpFastOpenServer, tcpFastOpenClient, and tcpFastOpenQueueSize."}
mongo_1 | killing process with pid: 26
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.997+00:00"},"s":"I", "c":"CONTROL", "id":23377, "ctx":"SignalHandler","msg":"Received signal","attr":{"signal":15,"error":"Terminated"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.997+00:00"},"s":"I", "c":"CONTROL", "id":23378, "ctx":"SignalHandler","msg":"Signal was sent by kill(2)","attr":{"pid":87,"uid":999}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.997+00:00"},"s":"I", "c":"CONTROL", "id":23381, "ctx":"SignalHandler","msg":"will terminate after current cmd ends"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:28.999+00:00"},"s":"I", "c":"NETWORK", "id":20562, "ctx":"SignalHandler","msg":"Shutdown: going to close listening sockets"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:29.016+00:00"},"s":"I", "c":"NETWORK", "id":23017, "ctx":"listener","msg":"removing socket file","attr":{"path":"/tmp/mongodb-27017.sock"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:29.017+00:00"},"s":"I", "c":"-", "id":20520, "ctx":"SignalHandler","msg":"Stopping further Flow Control ticket acquisitions."}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:29.022+00:00"},"s":"I", "c":"-", "id":4695300, "ctx":"SignalHandler","msg":"Interrupted all currently running operations","attr":{"opsKilled":3}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:29.022+00:00"},"s":"I", "c":"CONTROL", "id":20609, "ctx":"SignalHandler","msg":"Shutting down free monitoring"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:29.023+00:00"},"s":"I", "c":"FTDC", "id":20626, "ctx":"SignalHandler","msg":"Shutting down full-time diagnostic data capture"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:29.026+00:00"},"s":"I", "c":"STORAGE", "id":20282, "ctx":"SignalHandler","msg":"Deregistering all the collections"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:29.026+00:00"},"s":"I", "c":"STORAGE", "id":22261, "ctx":"SignalHandler","msg":"Timestamp monitor shutting down"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:29.027+00:00"},"s":"I", "c":"STORAGE", "id":22317, "ctx":"SignalHandler","msg":"WiredTigerKVEngine shutting down"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:29.029+00:00"},"s":"I", "c":"STORAGE", "id":22318, "ctx":"SignalHandler","msg":"Shutting down session sweeper thread"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:29.031+00:00"},"s":"I", "c":"STORAGE", "id":22319, "ctx":"SignalHandler","msg":"Finished shutting down session sweeper thread"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:29.031+00:00"},"s":"I", "c":"STORAGE", "id":22320, "ctx":"SignalHandler","msg":"Shutting down journal flusher thread"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:29.032+00:00"},"s":"I", "c":"STORAGE", "id":22321, "ctx":"SignalHandler","msg":"Finished shutting down journal flusher thread"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:29.032+00:00"},"s":"I", "c":"STORAGE", "id":22322, "ctx":"SignalHandler","msg":"Shutting down checkpoint thread"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:29.033+00:00"},"s":"I", "c":"STORAGE", "id":22323, "ctx":"SignalHandler","msg":"Finished shutting down checkpoint thread"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:29.033+00:00"},"s":"I", "c":"STORAGE", "id":4795902, "ctx":"SignalHandler","msg":"Closing WiredTiger","attr":{"closeConfig":"leak_memory=true,"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:29.057+00:00"},"s":"I", "c":"STORAGE", "id":4795901, "ctx":"SignalHandler","msg":"WiredTiger closed","attr":{"durationMillis":24}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:29.057+00:00"},"s":"I", "c":"STORAGE", "id":22279, "ctx":"SignalHandler","msg":"shutdown: removing fs lock..."}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:29.058+00:00"},"s":"I", "c":"CONTROL", "id":20565, "ctx":"SignalHandler","msg":"Now exiting"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:29.058+00:00"},"s":"I", "c":"CONTROL", "id":23138, "ctx":"SignalHandler","msg":"Shutting down","attr":{"exitCode":0}}
mongo_1 |
mongo_1 | MongoDB init process complete; ready for start up.
mongo_1 |
mongo_1 | {"t":{"$date":"2020-08-04T12:35:30.030+00:00"},"s":"I", "c":"CONTROL", "id":23285, "ctx":"main","msg":"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:30.033+00:00"},"s":"W", "c":"ASIO", "id":22601, "ctx":"main","msg":"No TransportLayer configured during NetworkInterface startup"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:30.033+00:00"},"s":"I", "c":"NETWORK", "id":4648601, "ctx":"main","msg":"Implicit TCP FastOpen unavailable. If TCP FastOpen is required, set tcpFastOpenServer, tcpFastOpenClient, and tcpFastOpenQueueSize."}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:30.035+00:00"},"s":"I", "c":"STORAGE", "id":4615611, "ctx":"initandlisten","msg":"MongoDB starting","attr":{"pid":1,"port":27017,"dbPath":"/data/db","architecture":"64-bit","host":"785bfa0474f0"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:30.035+00:00"},"s":"I", "c":"CONTROL", "id":23403, "ctx":"initandlisten","msg":"Build Info","attr":{"buildInfo":{"version":"4.4.0","gitVersion":"563487e100c4215e2dce98d0af2a6a5a2d67c5cf","openSSLVersion":"OpenSSL 1.1.1 11 Sep 2018","modules":[],"allocator":"tcmalloc","environment":{"distmod":"ubuntu1804","distarch":"x86_64","target_arch":"x86_64"}}}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:30.035+00:00"},"s":"I", "c":"CONTROL", "id":51765, "ctx":"initandlisten","msg":"Operating System","attr":{"os":{"name":"Ubuntu","version":"18.04"}}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:30.035+00:00"},"s":"I", "c":"CONTROL", "id":21951, "ctx":"initandlisten","msg":"Options set by command line","attr":{"options":{"net":{"bindIp":"*"},"security":{"authorization":"enabled"}}}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:30.036+00:00"},"s":"I", "c":"STORAGE", "id":22270, "ctx":"initandlisten","msg":"Storage engine to use detected by data files","attr":{"dbpath":"/data/db","storageEngine":"wiredTiger"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:30.036+00:00"},"s":"I", "c":"STORAGE", "id":22315, "ctx":"initandlisten","msg":"Opening WiredTiger","attr":{"config":"create,cache_size=407M,session_max=33000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000,close_scan_interval=10,close_handle_minimum=250),statistics_log=(wait=0),verbose=[recovery_progress,checkpoint_progress,compact_progress],"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:30.845+00:00"},"s":"I", "c":"STORAGE", "id":22430, "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1596544530:845129][1:0x7f2c7a089a80], txn-recover: [WT_VERB_RECOVERY_PROGRESS] Recovering log 1 through 2"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:30.969+00:00"},"s":"I", "c":"STORAGE", "id":22430, "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1596544530:969750][1:0x7f2c7a089a80], txn-recover: [WT_VERB_RECOVERY_PROGRESS] Recovering log 2 through 2"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:31.121+00:00"},"s":"I", "c":"STORAGE", "id":22430, "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1596544531:114853][1:0x7f2c7a089a80], txn-recover: [WT_VERB_RECOVERY | WT_VERB_RECOVERY_PROGRESS] Main recovery loop: starting at 1/27008 to 2/256"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:31.240+00:00"},"s":"I", "c":"STORAGE", "id":22430, "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1596544531:240526][1:0x7f2c7a089a80], txn-recover: [WT_VERB_RECOVERY_PROGRESS] Recovering log 1 through 2"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:31.308+00:00"},"s":"I", "c":"STORAGE", "id":22430, "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1596544531:308945][1:0x7f2c7a089a80], txn-recover: [WT_VERB_RECOVERY_PROGRESS] Recovering log 2 through 2"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:31.370+00:00"},"s":"I", "c":"STORAGE", "id":22430, "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1596544531:370713][1:0x7f2c7a089a80], txn-recover: [WT_VERB_RECOVERY | WT_VERB_RECOVERY_PROGRESS] Set global recovery timestamp: (0, 0)"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:31.378+00:00"},"s":"I", "c":"STORAGE", "id":4795906, "ctx":"initandlisten","msg":"WiredTiger opened","attr":{"durationMillis":1342}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:31.378+00:00"},"s":"I", "c":"RECOVERY", "id":23987, "ctx":"initandlisten","msg":"WiredTiger recoveryTimestamp","attr":{"recoveryTimestamp":{"$timestamp":{"t":0,"i":0}}}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:31.391+00:00"},"s":"I", "c":"STORAGE", "id":22262, "ctx":"initandlisten","msg":"Timestamp monitor starting"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:31.395+00:00"},"s":"W", "c":"CONTROL", "id":22178, "ctx":"initandlisten","msg":"/sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never'","tags":["startupWarnings"]}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:31.396+00:00"},"s":"W", "c":"CONTROL", "id":22181, "ctx":"initandlisten","msg":"/sys/kernel/mm/transparent_hugepage/defrag is 'always'. We suggest setting it to 'never'","tags":["startupWarnings"]}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:31.424+00:00"},"s":"I", "c":"STORAGE", "id":20536, "ctx":"initandlisten","msg":"Flow Control is enabled on this deployment"}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:31.429+00:00"},"s":"I", "c":"FTDC", "id":20625, "ctx":"initandlisten","msg":"Initializing full-time diagnostic data capture","attr":{"dataDirectory":"/data/db/diagnostic.data"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:31.432+00:00"},"s":"I", "c":"NETWORK", "id":23015, "ctx":"listener","msg":"Listening on","attr":{"address":"/tmp/mongodb-27017.sock"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:31.432+00:00"},"s":"I", "c":"NETWORK", "id":23015, "ctx":"listener","msg":"Listening on","attr":{"address":"0.0.0.0"}}
mongo_1 | {"t":{"$date":"2020-08-04T12:35:31.432+00:00"},"s":"I", "c":"NETWORK", "id":23016, "ctx":"listener","msg":"Waiting for connections","attr":{"port":27017,"ssl":"off"}}
3.2打开 localhost:9090进行界面部署操作
默认部署路径为/my-yapi(需要修改docker-compose.yml才可以更改)
修改管理员邮箱 admin@admin.com (随意, 修改为自己的邮箱)
修改数据库地址为 mongo 或者修改为自己的mongo实例 (docker-compose配置的mongo服务名称叫mongo)
打开数据库认证
输入数据库用户名: yapi(mongo配置的用户名, 见mongo-conf/init-mongo.js)
输入密码: yapi123456(mongo配置的密码, 见mongo-conf/init-mongo.js)
部署完成后显示,再次开始部署会有“系统已安装,如需重新安装,请清空数据库和删除init.lock文件”文字注意提示
部署日志
当前安装版本: 1.9.2
连接数据库成功! 开始下载平台文件压缩包... http://registry.npm.taobao.org/yapi-vendor/download/yapi-vendor-1.9.2.tgz
部署文件完成,正在安装依赖库...
npm WARN mongoose-auto-increment@5.0.1 requires a peer of mongoose@^4.1.12 but none is installed. You must install peer dependencies yourself.
up to date in 17.542s
5 packages are looking for funding run `npm fund` for details
依赖库安装完成,正在初始化数据库mongodb...
> yapi-vendor@1.9.2 install-server /my-yapi/vendors > node server/install.js
log: mongodb load success...
初始化管理员账号成功,账号名:"admin@admin.com",密码:"ymfe.org"
部署成功,请切换到部署目录,输入: "node vendors/server/app.js" 指令启动服务器, 然后在浏览器打开 http://127.0.0.1:3000 访问
3.3.部署完毕后,Control+C退出
^CGracefully stopping... (press Ctrl+C again to force)
Stopping docker-yapi_yapi_1 ... done
Stopping docker-yapi_mongo_1 ... done
3.4.修改docker-compose.yml 启用
[root@localhost docker-yapi]# vim docker-compose.yml
docker-compose.yml内容如下
yapi:
build:
context: ./
dockerfile: Dockerfile
image: yapi
# 第一次启动使用
# command: "yapi server"
# 之后使用下面的命令
command: "node /my-yapi/vendors/server/app.js"
3.5.重启服务
docker-compose up
3.4.访问 localhost:3000
输入用户名admin@admin.com(自己输入的管理员邮箱)
输入密码ymfe.org(默认的初始化密码, 之后可以修改)
3.5.后台启动
前台启动确认没问题后, 直接
docker-compose stop或者contrl+C
docker-compose up -d
问题纪要
问题1
[root@localhost docker-yapi]# docker-compose up
Creating network "docker-yapi_default" with the default driver
ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-61f456534edf -j RETURN: iptables: No chain/target/match by that name.
(exit status 1))
原因
关闭防火墙之后docker需要重启,执行以下命令重启docker即可