mirror of
https://github.com/Linloir/Simple-TCP-Server.git
synced 2025-12-16 23:48:11 +08:00
Docker Update
- Usable docker file! - docker image now at linloir/lchatserver
This commit is contained in:
parent
68f8d51d3b
commit
0aa72b5dc3
14
.dockerignore
Normal file
14
.dockerignore
Normal file
@ -0,0 +1,14 @@
|
||||
# Files and directories created by pub.
|
||||
Dockerfile
|
||||
build/
|
||||
.dart_tool/
|
||||
.git/
|
||||
.github/
|
||||
.gitignore
|
||||
.packages
|
||||
|
||||
.data/
|
||||
.tmp/
|
||||
|
||||
# Conventional directory for build output.
|
||||
build/
|
||||
21
Dockerfile
21
Dockerfile
@ -1,8 +1,8 @@
|
||||
# Specify the Dart SDK base image version using dart:<version> (ex: dart:2.12)
|
||||
FROM dart:stable AS build
|
||||
FROM dart:stable AS compile
|
||||
|
||||
# Resolve app dependencies.
|
||||
WORKDIR /app
|
||||
WORKDIR /lchatserver
|
||||
COPY pubspec.* ./
|
||||
RUN dart pub get
|
||||
|
||||
@ -10,14 +10,17 @@ RUN dart pub get
|
||||
COPY . .
|
||||
# Ensure packages are still up-to-date if anything has changed
|
||||
RUN dart pub get --offline
|
||||
RUN dart compile exe bin/server.dart -o bin/server
|
||||
RUN dart compile exe bin/tcp_server.dart -o bin/tcp_server
|
||||
|
||||
# Build minimal serving image from AOT-compiled `/server` and required system
|
||||
# libraries and configuration files stored in `/runtime/` from the build stage.
|
||||
FROM scratch
|
||||
COPY --from=build /runtime/ /
|
||||
COPY --from=build /app/bin/server /app/bin/
|
||||
FROM ubuntu:latest
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get -y install libsqlite3-0 libsqlite3-dev
|
||||
|
||||
# Copy the previously built executable into the scratch layer
|
||||
COPY --from=compile /runtime/ ~/server/
|
||||
COPY --from=compile /lchatserver/bin/tcp_server ~/server/lchatserver/bin/
|
||||
|
||||
# Start server.
|
||||
EXPOSE 20706
|
||||
CMD ["/app/bin/server"]
|
||||
CMD ["~/server/lchatserver/bin/tcp_server"]
|
||||
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* @Author : Linloir
|
||||
* @Date : 2022-10-06 15:44:16
|
||||
* @LastEditTime : 2022-10-17 22:56:11
|
||||
* @LastEditTime : 2022-10-19 14:41:56
|
||||
* @Description :
|
||||
*/
|
||||
|
||||
@ -15,10 +15,8 @@ import 'package:tcp_server/tcpcontroller/request.dart';
|
||||
import 'package:tcp_server/tcpcontroller/response.dart';
|
||||
|
||||
void main(List<String> arguments) async {
|
||||
//Set port
|
||||
var address = arguments.isEmpty ? '127.0.0.1' : arguments[0];
|
||||
//Set address
|
||||
var port = arguments.length < 2 ? 20706 : int.tryParse(arguments[1]) ?? 20706;
|
||||
var port = arguments.isEmpty ? 20706 : int.tryParse(arguments[1]) ?? 20706;
|
||||
|
||||
//Create nessesary working directories
|
||||
await Directory('${Directory.current.path}/.tmp').create();
|
||||
@ -28,7 +26,7 @@ void main(List<String> arguments) async {
|
||||
await DataBaseHelper().initialize();
|
||||
Map<int, List<TCPController>> tokenMap = {};
|
||||
Map<TCPController, Future<int>> controllerMap = {};
|
||||
var listenSocket = await ServerSocket.bind(address, port);
|
||||
var listenSocket = await ServerSocket.bind(InternetAddress.anyIPv4, port);
|
||||
listenSocket.listen(
|
||||
(socket) {
|
||||
var controller = TCPController(socket: socket);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user