diff --git a/lib/mrsk/commands/accessory.rb b/lib/mrsk/commands/accessory.rb index b4e52762..dbffc71b 100644 --- a/lib/mrsk/commands/accessory.rb +++ b/lib/mrsk/commands/accessory.rb @@ -10,10 +10,10 @@ class Mrsk::Commands::Accessory < Mrsk::Commands::Base def run docker :run, "--name", service_name, - "-d", + "--detach", "--restart", "unless-stopped", "--log-opt", "max-size=#{MAX_LOG_SIZE}", - "-p", port, + "--publish", port, *env_args, *volume_args, *label_args, @@ -35,14 +35,14 @@ class Mrsk::Commands::Accessory < Mrsk::Commands::Base def logs(since: nil, lines: nil, grep: nil) pipe \ - docker(:logs, service_name, (" --since #{since}" if since), (" -n #{lines}" if lines), "-t", "2>&1"), + docker(:logs, service_name, (" --since #{since}" if since), (" --tail #{lines}" if lines), "--timestamps", "2>&1"), ("grep '#{grep}'" if grep) end def follow_logs(grep: nil) run_over_ssh \ pipe \ - docker(:logs, service_name, "-t", "-n", "10", "-f", "2>&1"), + docker(:logs, service_name, "--timestamps", "--tail", "10", "--follow", "2>&1"), (%(grep "#{grep}") if grep) end @@ -96,11 +96,11 @@ class Mrsk::Commands::Accessory < Mrsk::Commands::Base end def remove_container - docker :container, :prune, "-f", *service_filter + docker :container, :prune, "--force", *service_filter end def remove_image - docker :image, :prune, "-a", "-f", *service_filter + docker :image, :prune, "--all", "--force", *service_filter end private diff --git a/lib/mrsk/commands/app.rb b/lib/mrsk/commands/app.rb index 6deb49e8..4c8f0c7e 100644 --- a/lib/mrsk/commands/app.rb +++ b/lib/mrsk/commands/app.rb @@ -3,7 +3,7 @@ class Mrsk::Commands::App < Mrsk::Commands::Base role = config.role(role) docker :run, - "-d", + "--detach", "--restart unless-stopped", "--log-opt", "max-size=#{MAX_LOG_SIZE}", "--name", service_with_version, @@ -30,7 +30,7 @@ class Mrsk::Commands::App < Mrsk::Commands::Base def logs(since: nil, lines: nil, grep: nil) pipe \ current_container_id, - "xargs docker logs#{" --since #{since}" if since}#{" -n #{lines}" if lines} 2>&1", + "xargs docker logs#{" --since #{since}" if since}#{" --tail #{lines}" if lines} 2>&1", ("grep '#{grep}'" if grep) end @@ -38,7 +38,7 @@ class Mrsk::Commands::App < Mrsk::Commands::Base run_over_ssh \ pipe( current_container_id, - "xargs docker logs -t -n 10 -f 2>&1", + "xargs docker logs --timestamps --tail 10 --follow 2>&1", (%(grep "#{grep}") if grep) ), host: host @@ -72,7 +72,7 @@ class Mrsk::Commands::App < Mrsk::Commands::Base def current_container_id - docker :ps, "-q", *service_filter + docker :ps, "--quiet", *service_filter end def current_running_version @@ -97,7 +97,7 @@ class Mrsk::Commands::App < Mrsk::Commands::Base def list_containers - docker :container, :ls, "-a", *service_filter + docker :container, :ls, "--all", *service_filter end def list_container_names @@ -111,7 +111,7 @@ class Mrsk::Commands::App < Mrsk::Commands::Base end def remove_containers - docker :container, :prune, "-f", *service_filter + docker :container, :prune, "--force", *service_filter end def list_images @@ -119,7 +119,7 @@ class Mrsk::Commands::App < Mrsk::Commands::Base end def remove_images - docker :image, :prune, "-a", "-f", *service_filter + docker :image, :prune, "--all", "--force", *service_filter end diff --git a/lib/mrsk/commands/base.rb b/lib/mrsk/commands/base.rb index bcb47a61..e453dddc 100644 --- a/lib/mrsk/commands/base.rb +++ b/lib/mrsk/commands/base.rb @@ -18,7 +18,7 @@ module Mrsk::Commands end def container_id_for(container_name:) - docker :container, :ls, "-a", "-f", "name=#{container_name}", "-q" + docker :container, :ls, "--all", "--filter", "name=#{container_name}", "--quiet" end private diff --git a/lib/mrsk/commands/healthcheck.rb b/lib/mrsk/commands/healthcheck.rb index 12d89b45..feb35543 100644 --- a/lib/mrsk/commands/healthcheck.rb +++ b/lib/mrsk/commands/healthcheck.rb @@ -5,9 +5,9 @@ class Mrsk::Commands::Healthcheck < Mrsk::Commands::Base web = config.role(:web) docker :run, - "-d", + "--detach", "--name", container_name_with_version, - "-p", "#{EXPOSED_PORT}:#{config.healthcheck["port"]}", + "--publish", "#{EXPOSED_PORT}:#{config.healthcheck["port"]}", "--label", "service=#{container_name}", *web.env_args, *config.volume_args, diff --git a/lib/mrsk/commands/traefik.rb b/lib/mrsk/commands/traefik.rb index 43f8d963..67f7c09b 100644 --- a/lib/mrsk/commands/traefik.rb +++ b/lib/mrsk/commands/traefik.rb @@ -1,11 +1,11 @@ class Mrsk::Commands::Traefik < Mrsk::Commands::Base def run docker :run, "--name traefik", - "-d", + "--detach", "--restart", "unless-stopped", "--log-opt", "max-size=#{MAX_LOG_SIZE}", - "-p 80:80", - "-v /var/run/docker.sock:/var/run/docker.sock", + "--publish", "80:80", + "--volume", "/var/run/docker.sock:/var/run/docker.sock", "traefik", "--providers.docker", "--log.level=DEBUG", @@ -26,23 +26,23 @@ class Mrsk::Commands::Traefik < Mrsk::Commands::Base def logs(since: nil, lines: nil, grep: nil) pipe \ - docker(:logs, "traefik", (" --since #{since}" if since), (" -n #{lines}" if lines), "-t", "2>&1"), + docker(:logs, "traefik", (" --since #{since}" if since), (" --tail #{lines}" if lines), "--timestamps", "2>&1"), ("grep '#{grep}'" if grep) end def follow_logs(host:, grep: nil) run_over_ssh pipe( - docker(:logs, "traefik", "-t", "-n", "10", "-f", "2>&1"), + docker(:logs, "traefik", "--timestamps", "--tail", "10", "--follow", "2>&1"), (%(grep "#{grep}") if grep) ).join(" "), host: host end def remove_container - docker :container, :prune, "-f", "--filter", "label=org.opencontainers.image.title=Traefik" + docker :container, :prune, "--force", "--filter", "label=org.opencontainers.image.title=Traefik" end def remove_image - docker :image, :prune, "-a", "-f", "--filter", "label=org.opencontainers.image.title=Traefik" + docker :image, :prune, "--all", "--force", "--filter", "label=org.opencontainers.image.title=Traefik" end private diff --git a/test/cli/accessory_test.rb b/test/cli/accessory_test.rb index c9d577b6..8b3087cf 100644 --- a/test/cli/accessory_test.rb +++ b/test/cli/accessory_test.rb @@ -14,7 +14,7 @@ class CliAccessoryTest < CliTestCase end test "boot" do - assert_match "Running docker run --name app-mysql -d --restart unless-stopped --log-opt max-size=10m -p 3306:3306 -e [REDACTED] -e MYSQL_ROOT_HOST=% --volume $PWD/app-mysql/etc/mysql/my.cnf:/etc/mysql/my.cnf --volume $PWD/app-mysql/data:/var/lib/mysql --label service=app-mysql mysql:5.7 on 1.1.1.3", run_command("boot", "mysql") + assert_match "Running docker run --name app-mysql --detach --restart unless-stopped --log-opt max-size=10m --publish 3306:3306 -e [REDACTED] -e MYSQL_ROOT_HOST=% --volume $PWD/app-mysql/etc/mysql/my.cnf:/etc/mysql/my.cnf --volume $PWD/app-mysql/data:/var/lib/mysql --label service=app-mysql mysql:5.7 on 1.1.1.3", run_command("boot", "mysql") end test "exec" do @@ -34,7 +34,7 @@ class CliAccessoryTest < CliTestCase test "remove with confirmation" do run_command("remove", "mysql", "-y").tap do |output| assert_match /docker container stop app-mysql/, output - assert_match /docker image prune -a -f --filter label=service=app-mysql/, output + assert_match /docker image prune --all --force --filter label=service=app-mysql/, output assert_match /rm -rf app-mysql/, output end end diff --git a/test/cli/app_test.rb b/test/cli/app_test.rb index 3a6c5069..f8b5da05 100644 --- a/test/cli/app_test.rb +++ b/test/cli/app_test.rb @@ -2,7 +2,7 @@ require_relative "cli_test_case" class CliAppTest < CliTestCase test "boot" do - assert_match /Running docker run -d --restart unless-stopped/, run_command("boot") + assert_match /Running docker run --detach --restart unless-stopped/, run_command("boot") end test "boot will reboot if same version is already running" do @@ -15,8 +15,8 @@ class CliAppTest < CliTestCase run_command("boot").tap do |output| assert_match /Rebooting container with same version already deployed/, output # Can't start what's already running - assert_match /docker ps -q --filter label=service=app \| xargs docker stop/, output # Stop what's running - assert_match /docker container ls -a -f name=app-999 -q \| xargs docker container rm/, output # Remove old container + assert_match /docker ps --quiet --filter label=service=app \| xargs docker stop/, output # Stop what's running + assert_match /docker container ls --all --filter name=app-999 --quiet \| xargs docker container rm/, output # Remove old container assert_match /docker run/, output # Start new container end ensure @@ -31,7 +31,7 @@ class CliAppTest < CliTestCase test "stop" do run_command("stop").tap do |output| - assert_match /docker ps -q --filter label=service=app \| xargs docker stop/, output + assert_match /docker ps --quiet --filter label=service=app \| xargs docker stop/, output end end @@ -43,15 +43,15 @@ class CliAppTest < CliTestCase test "remove" do run_command("remove").tap do |output| - assert_match /docker ps -q --filter label=service=app | xargs docker stop/, output - assert_match /docker container prune -f --filter label=service=app/, output - assert_match /docker image prune -a -f --filter label=service=app/, output + assert_match /docker ps --quiet --filter label=service=app | xargs docker stop/, output + assert_match /docker container prune --force --filter label=service=app/, output + assert_match /docker image prune --all --force --filter label=service=app/, output end end test "remove_container" do run_command("remove_container", "1234567").tap do |output| - assert_match /docker container ls -a -f name=app-1234567 -q \| xargs docker container rm/, output + assert_match /docker container ls --all --filter name=app-1234567 --quiet \| xargs docker container rm/, output end end diff --git a/test/cli/main_test.rb b/test/cli/main_test.rb index 69a67f41..7c6de597 100644 --- a/test/cli/main_test.rb +++ b/test/cli/main_test.rb @@ -10,7 +10,7 @@ class CliMainTest < CliTestCase run_command("details") # Preheat MRSK const run_command("rollback", "nonsense").tap do |output| - assert_match /docker container ls -a --filter label=service=app --format '{{ .Names }}'/, output + assert_match /docker container ls --all --filter label=service=app --format '{{ .Names }}'/, output assert_match /The app version 'nonsense' is not available as a container/, output end end @@ -28,21 +28,21 @@ class CliMainTest < CliTestCase test "remove with confirmation" do run_command("remove", "-y").tap do |output| assert_match /docker container stop traefik/, output - assert_match /docker container prune -f --filter label=org.opencontainers.image.title=Traefik/, output - assert_match /docker image prune -a -f --filter label=org.opencontainers.image.title=Traefik/, output + assert_match /docker container prune --force --filter label=org.opencontainers.image.title=Traefik/, output + assert_match /docker image prune --all --force --filter label=org.opencontainers.image.title=Traefik/, output - assert_match /docker ps -q --filter label=service=app | xargs docker stop/, output - assert_match /docker container prune -f --filter label=service=app/, output - assert_match /docker image prune -a -f --filter label=service=app/, output + assert_match /docker ps --quiet --filter label=service=app | xargs docker stop/, output + assert_match /docker container prune --force --filter label=service=app/, output + assert_match /docker image prune --all --force --filter label=service=app/, output assert_match /docker container stop app-mysql/, output - assert_match /docker container prune -f --filter label=service=app-mysql/, output - assert_match /docker image prune -a -f --filter label=service=app-mysql/, output + assert_match /docker container prune --force --filter label=service=app-mysql/, output + assert_match /docker image prune --all --force --filter label=service=app-mysql/, output assert_match /rm -rf app-mysql/, output assert_match /docker container stop app-redis/, output - assert_match /docker container prune -f --filter label=service=app-redis/, output - assert_match /docker image prune -a -f --filter label=service=app-redis/, output + assert_match /docker container prune --force --filter label=service=app-redis/, output + assert_match /docker image prune --all --force --filter label=service=app-redis/, output assert_match /rm -rf app-redis/, output assert_match /docker logout/, output diff --git a/test/commands/accessory_test.rb b/test/commands/accessory_test.rb index 08883b8c..395fbbc2 100644 --- a/test/commands/accessory_test.rb +++ b/test/commands/accessory_test.rb @@ -49,11 +49,11 @@ class CommandsAccessoryTest < ActiveSupport::TestCase test "run" do assert_equal \ - "docker run --name app-mysql -d --restart unless-stopped --log-opt max-size=10m -p 3306:3306 -e MYSQL_ROOT_PASSWORD=secret123 -e MYSQL_ROOT_HOST=% --label service=app-mysql mysql:8.0", + "docker run --name app-mysql --detach --restart unless-stopped --log-opt max-size=10m --publish 3306:3306 -e MYSQL_ROOT_PASSWORD=secret123 -e MYSQL_ROOT_HOST=% --label service=app-mysql mysql:8.0", @mysql.run.join(" ") assert_equal \ - "docker run --name app-redis -d --restart unless-stopped --log-opt max-size=10m -p 6379:6379 -e SOMETHING=else --volume /var/lib/redis:/data --label service=app-redis --label cache=true redis:latest", + "docker run --name app-redis --detach --restart unless-stopped --log-opt max-size=10m --publish 6379:6379 -e SOMETHING=else --volume /var/lib/redis:/data --label service=app-redis --label cache=true redis:latest", @redis.run.join(" ") end @@ -106,29 +106,29 @@ class CommandsAccessoryTest < ActiveSupport::TestCase test "logs" do assert_equal \ - "docker logs app-mysql -t 2>&1", + "docker logs app-mysql --timestamps 2>&1", @mysql.logs.join(" ") assert_equal \ - "docker logs app-mysql --since 5m -n 100 -t 2>&1 | grep 'thing'", + "docker logs app-mysql --since 5m --tail 100 --timestamps 2>&1 | grep 'thing'", @mysql.logs(since: "5m", lines: 100, grep: "thing").join(" ") end test "follow logs" do assert_equal \ - "ssh -t root@1.1.1.5 'docker logs app-mysql -t -n 10 -f 2>&1'", + "ssh -t root@1.1.1.5 'docker logs app-mysql --timestamps --tail 10 --follow 2>&1'", @mysql.follow_logs end test "remove container" do assert_equal \ - "docker container prune -f --filter label=service=app-mysql", + "docker container prune --force --filter label=service=app-mysql", @mysql.remove_container.join(" ") end test "remove image" do assert_equal \ - "docker image prune -a -f --filter label=service=app-mysql", + "docker image prune --all --force --filter label=service=app-mysql", @mysql.remove_image.join(" ") end end diff --git a/test/commands/app_test.rb b/test/commands/app_test.rb index 1523dbd7..a5c5e07d 100644 --- a/test/commands/app_test.rb +++ b/test/commands/app_test.rb @@ -14,7 +14,7 @@ class CommandsAppTest < ActiveSupport::TestCase test "run" do assert_equal \ - "docker run -d --restart unless-stopped --log-opt max-size=10m --name app-999 -e RAILS_MASTER_KEY=456 --label service=app --label role=web --label traefik.http.routers.app.rule='PathPrefix(`/`)' --label traefik.http.services.app.loadbalancer.healthcheck.path=/up --label traefik.http.services.app.loadbalancer.healthcheck.interval=1s --label traefik.http.middlewares.app.retry.attempts=3 --label traefik.http.middlewares.app.retry.initialinterval=500ms dhh/app:999", + "docker run --detach --restart unless-stopped --log-opt max-size=10m --name app-999 -e RAILS_MASTER_KEY=456 --label service=app --label role=web --label traefik.http.routers.app.rule='PathPrefix(`/`)' --label traefik.http.services.app.loadbalancer.healthcheck.path=/up --label traefik.http.services.app.loadbalancer.healthcheck.interval=1s --label traefik.http.middlewares.app.retry.attempts=3 --label traefik.http.middlewares.app.retry.initialinterval=500ms dhh/app:999", @app.run.join(" ") end @@ -22,7 +22,7 @@ class CommandsAppTest < ActiveSupport::TestCase @config[:volumes] = ["/local/path:/container/path" ] assert_equal \ - "docker run -d --restart unless-stopped --log-opt max-size=10m --name app-999 -e RAILS_MASTER_KEY=456 --volume /local/path:/container/path --label service=app --label role=web --label traefik.http.routers.app.rule='PathPrefix(`/`)' --label traefik.http.services.app.loadbalancer.healthcheck.path=/up --label traefik.http.services.app.loadbalancer.healthcheck.interval=1s --label traefik.http.middlewares.app.retry.attempts=3 --label traefik.http.middlewares.app.retry.initialinterval=500ms dhh/app:999", + "docker run --detach --restart unless-stopped --log-opt max-size=10m --name app-999 -e RAILS_MASTER_KEY=456 --volume /local/path:/container/path --label service=app --label role=web --label traefik.http.routers.app.rule='PathPrefix(`/`)' --label traefik.http.services.app.loadbalancer.healthcheck.path=/up --label traefik.http.services.app.loadbalancer.healthcheck.interval=1s --label traefik.http.middlewares.app.retry.attempts=3 --label traefik.http.middlewares.app.retry.initialinterval=500ms dhh/app:999", @app.run.join(" ") end @@ -30,7 +30,7 @@ class CommandsAppTest < ActiveSupport::TestCase @config[:healthcheck] = { "path" => "/healthz" } assert_equal \ - "docker run -d --restart unless-stopped --log-opt max-size=10m --name app-999 -e RAILS_MASTER_KEY=456 --label service=app --label role=web --label traefik.http.routers.app.rule='PathPrefix(`/`)' --label traefik.http.services.app.loadbalancer.healthcheck.path=/healthz --label traefik.http.services.app.loadbalancer.healthcheck.interval=1s --label traefik.http.middlewares.app.retry.attempts=3 --label traefik.http.middlewares.app.retry.initialinterval=500ms dhh/app:999", + "docker run --detach --restart unless-stopped --log-opt max-size=10m --name app-999 -e RAILS_MASTER_KEY=456 --label service=app --label role=web --label traefik.http.routers.app.rule='PathPrefix(`/`)' --label traefik.http.services.app.loadbalancer.healthcheck.path=/healthz --label traefik.http.services.app.loadbalancer.healthcheck.interval=1s --label traefik.http.middlewares.app.retry.attempts=3 --label traefik.http.middlewares.app.retry.initialinterval=500ms dhh/app:999", @app.run.join(" ") end @@ -42,7 +42,7 @@ class CommandsAppTest < ActiveSupport::TestCase test "stop" do assert_equal \ - "docker ps -q --filter label=service=app | xargs docker stop", + "docker ps --quiet --filter label=service=app | xargs docker stop", @app.stop.join(" ") end @@ -55,38 +55,38 @@ class CommandsAppTest < ActiveSupport::TestCase test "logs" do assert_equal \ - "docker ps -q --filter label=service=app | xargs docker logs 2>&1", + "docker ps --quiet --filter label=service=app | xargs docker logs 2>&1", @app.logs.join(" ") assert_equal \ - "docker ps -q --filter label=service=app | xargs docker logs --since 5m 2>&1", + "docker ps --quiet --filter label=service=app | xargs docker logs --since 5m 2>&1", @app.logs(since: "5m").join(" ") assert_equal \ - "docker ps -q --filter label=service=app | xargs docker logs -n 100 2>&1", + "docker ps --quiet --filter label=service=app | xargs docker logs --tail 100 2>&1", @app.logs(lines: "100").join(" ") assert_equal \ - "docker ps -q --filter label=service=app | xargs docker logs --since 5m -n 100 2>&1", + "docker ps --quiet --filter label=service=app | xargs docker logs --since 5m --tail 100 2>&1", @app.logs(since: "5m", lines: "100").join(" ") assert_equal \ - "docker ps -q --filter label=service=app | xargs docker logs 2>&1 | grep 'my-id'", + "docker ps --quiet --filter label=service=app | xargs docker logs 2>&1 | grep 'my-id'", @app.logs(grep: "my-id").join(" ") assert_equal \ - "docker ps -q --filter label=service=app | xargs docker logs --since 5m 2>&1 | grep 'my-id'", + "docker ps --quiet --filter label=service=app | xargs docker logs --since 5m 2>&1 | grep 'my-id'", @app.logs(since: "5m", grep: "my-id").join(" ") end test "follow logs" do @app.stub(:run_over_ssh, ->(cmd, host:) { cmd.join(" ") }) do assert_equal \ - "docker ps -q --filter label=service=app | xargs docker logs -t -n 10 -f 2>&1", + "docker ps --quiet --filter label=service=app | xargs docker logs --timestamps --tail 10 --follow 2>&1", @app.follow_logs(host: "app-1") assert_equal \ - "docker ps -q --filter label=service=app | xargs docker logs -t -n 10 -f 2>&1 | grep \"Completed\"", + "docker ps --quiet --filter label=service=app | xargs docker logs --timestamps --tail 10 --follow 2>&1 | grep \"Completed\"", @app.follow_logs(host: "app-1", grep: "Completed") end end @@ -145,13 +145,13 @@ class CommandsAppTest < ActiveSupport::TestCase test "current_container_id" do assert_equal \ - "docker ps -q --filter label=service=app", + "docker ps --quiet --filter label=service=app", @app.current_container_id.join(" ") end test "container_id_for" do assert_equal \ - "docker container ls -a -f name=app-999 -q", + "docker container ls --all --filter name=app-999 --quiet", @app.container_id_for(container_name: "app-999").join(" ") end diff --git a/test/commands/healthcheck_test.rb b/test/commands/healthcheck_test.rb index 2ef7df81..c7438126 100644 --- a/test/commands/healthcheck_test.rb +++ b/test/commands/healthcheck_test.rb @@ -10,7 +10,7 @@ class CommandsHealthcheckTest < ActiveSupport::TestCase test "run" do assert_equal \ - "docker run -d --name healthcheck-app-123 -p 3999:3000 --label service=healthcheck-app dhh/app:123", + "docker run --detach --name healthcheck-app-123 --publish 3999:3000 --label service=healthcheck-app dhh/app:123", new_command.run.join(" ") end @@ -18,7 +18,7 @@ class CommandsHealthcheckTest < ActiveSupport::TestCase @config[:healthcheck] = { "port" => 3001 } assert_equal \ - "docker run -d --name healthcheck-app-123 -p 3999:3001 --label service=healthcheck-app dhh/app:123", + "docker run --detach --name healthcheck-app-123 --publish 3999:3001 --label service=healthcheck-app dhh/app:123", new_command.run.join(" ") end @@ -38,13 +38,13 @@ class CommandsHealthcheckTest < ActiveSupport::TestCase test "stop" do assert_equal \ - "docker container ls -a -f name=healthcheck-app -q | xargs docker stop", + "docker container ls --all --filter name=healthcheck-app --quiet | xargs docker stop", new_command.stop.join(" ") end test "remove" do assert_equal \ - "docker container ls -a -f name=healthcheck-app -q | xargs docker container rm", + "docker container ls --all --filter name=healthcheck-app --quiet | xargs docker container rm", new_command.remove.join(" ") end diff --git a/test/commands/traefik_test.rb b/test/commands/traefik_test.rb index 229874d8..6d162138 100644 --- a/test/commands/traefik_test.rb +++ b/test/commands/traefik_test.rb @@ -10,7 +10,7 @@ class CommandsTraefikTest < ActiveSupport::TestCase test "run" do assert_equal \ - "docker run --name traefik -d --restart unless-stopped --log-opt max-size=10m -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock traefik --providers.docker --log.level=DEBUG --accesslog.format json --metrics.prometheus.buckets 0.1,0.3,1.2,5.0", + "docker run --name traefik --detach --restart unless-stopped --log-opt max-size=10m --publish 80:80 --volume /var/run/docker.sock:/var/run/docker.sock traefik --providers.docker --log.level=DEBUG --accesslog.format json --metrics.prometheus.buckets 0.1,0.3,1.2,5.0", new_command.run.join(" ") end @@ -34,49 +34,49 @@ class CommandsTraefikTest < ActiveSupport::TestCase test "traefik logs" do assert_equal \ - "docker logs traefik -t 2>&1", + "docker logs traefik --timestamps 2>&1", new_command.logs.join(" ") end test "traefik logs since 2h" do assert_equal \ - "docker logs traefik --since 2h -t 2>&1", + "docker logs traefik --since 2h --timestamps 2>&1", new_command.logs(since: '2h').join(" ") end test "traefik logs last 10 lines" do assert_equal \ - "docker logs traefik -n 10 -t 2>&1", + "docker logs traefik --tail 10 --timestamps 2>&1", new_command.logs(lines: 10).join(" ") end test "traefik logs with grep hello!" do assert_equal \ - "docker logs traefik -t 2>&1 | grep 'hello!'", + "docker logs traefik --timestamps 2>&1 | grep 'hello!'", new_command.logs(grep: 'hello!').join(" ") end test "traefik remove container" do assert_equal \ - "docker container prune -f --filter label=org.opencontainers.image.title=Traefik", + "docker container prune --force --filter label=org.opencontainers.image.title=Traefik", new_command.remove_container.join(" ") end test "traefik remove image" do assert_equal \ - "docker image prune -a -f --filter label=org.opencontainers.image.title=Traefik", + "docker image prune --all --force --filter label=org.opencontainers.image.title=Traefik", new_command.remove_image.join(" ") end test "traefik follow logs" do assert_equal \ - "ssh -t root@1.1.1.1 'docker logs traefik -t -n 10 -f 2>&1'", + "ssh -t root@1.1.1.1 'docker logs traefik --timestamps --tail 10 --follow 2>&1'", new_command.follow_logs(host: @config[:servers].first) end test "traefik follow logs with grep hello!" do assert_equal \ - "ssh -t root@1.1.1.1 'docker logs traefik -t -n 10 -f 2>&1 | grep \"hello!\"'", + "ssh -t root@1.1.1.1 'docker logs traefik --timestamps --tail 10 --follow 2>&1 | grep \"hello!\"'", new_command.follow_logs(host: @config[:servers].first, grep: 'hello!') end