Прежде чем начать, проверьте IP-адрес вашего компьютера в вашей сети:
$ ifconfig
Перейдите к файлу TCPClient.Dockerfile
и измените адрес HOST_TCP_SERVER
на свой IP-адрес, строка 7.
Сделайте то же самое для файла UDPClient.Dockerfile
и измените адрес HOST_UDP_SERVER
на свой IP, строка 7.
Здесь будет объяснено, как запустить TCP-сервер и клиент.
Чтобы запустить контейнер, который будет отвечать за работу сервера, выполните следующие команды:
sd@sd:~ $ cd tcp/
sd@sd:~ $ docker build -t tcp-server -f TCPServer.Dockerfile .
sd@sd:~ $ docker run -d -p 12345:12345 tcp-server:latest
-d
заставит контейнер работать в detached
режиме.-p 12345:12345:
заставляет Docker предоставлять порт 12345
контейнера вашему компьютеру, поэтому служба будет видна через другие сетевые интерфейсы на вашем компьютере. Чтобы запустить контейнер, который будет отвечать за выполнение роли клиента, выполните следующие команды:
sd@sd:~ $ cd tcp/
sd@sd:~ $ docker build -t tcp-client -f TCPClient.Dockerfile .
sd@sd:~ $ docker run tcp-client:latest
client
будет подключаться только к нашему ранее запущенному серверу и не будет предоставлять никаких ресурсов. А поскольку он не предоставляет никаких ресурсов, этот контейнер не предоставляет порт.При запуске этот контейнер должен выдать вывод, аналогичный следующему:
Time: 0.735 m/s
Time: 0.208 m/s
Time: 0.278 m/s
Time: 0.210 m/s
Time: 0.311 m/s
Time: 0.221 m/s
Time: 0.271 m/s
Time: 0.225 m/s
Time: 0.106 m/s
Time: 0.173 m/s
Tempo médio: 0.274 m/s
Desvio padrão: 0.172
Tempo máximo: 0.735 m/s
Tempo mínimo: 0.106 m/s
Здесь будет объяснено, как запустить UDP-сервер и клиент.
Чтобы запустить контейнер, который будет отвечать за работу сервера, выполните следующие команды:
sd@sd:~ $ cd udp/
sd@sd:~ $ docker build -t udp-server -f UDPServer.Dockerfile .
sd@sd:~ $ docker run -d -p 54321:54321/udp udp-server:latest
-d
заставит контейнер работать в detached
режиме.-p 54321:54321/udp
заставляет Docker предоставлять порт контейнера 54321
вашему компьютеру, поэтому служба будет видна через другие сетевые интерфейсы на вашем компьютере.-p 54321:54321/udp
мы используем /udp
, это необходимо, потому что по умолчанию Docker поддерживает TCP
-связь, и в этом случае нам нужно, чтобы это была UDP
-связь. Чтобы запустить контейнер, который будет отвечать за выполнение роли клиента, выполните следующие команды:
sd@sd:~ $ cd udp/
sd@sd:~ $ docker build -t udp-client -f UDPClient.Dockerfile .
sd@sd:~ $ docker run udp-client:latest
client
будет подключаться только к нашему ранее запущенному серверу и не будет предоставлять никаких ресурсов. А поскольку он не предоставляет никаких ресурсов, этот контейнер не предоставляет порт.При запуске этот контейнер должен выдать вывод, аналогичный следующему:
From server: Hi, Client. Ok!
Time: 0.174 m/s
From server: Hi, Client. Ok!
Time: 0.116 m/s
From server: Hi, Client. Ok!
Time: 0.086 m/s
From server: Hi, Client. Ok!
Time: 0.080 m/s
From server: Hi, Client. Ok!
Time: 0.074 m/s
From server: Hi, Client. Ok!
Time: 0.091 m/s
From server: Hi, Client. Ok!
Time: 0.065 m/s
From server: Hi, Client. Ok!
Time: 0.098 m/s
From server: Hi, Client. Ok!
Time: 0.081 m/s
From server: Hi, Client. Ok!
Time: 0.107 m/s
Tempo médio: 0.097 m/s
Desvio padrão: 0.031
Tempo máximo: 0.174 m/s
Tempo mínimo: 0.065 m/s