Skip to content

Commit 58d8783

Browse files
docker: Assign port number to static docker container during automated deployment (#3511)
* Assign port number to static docker container * satisfy linter * modify docker_port variable --------- Co-authored-by: Martijn Verburg <[email protected]>
1 parent 9892a79 commit 58d8783

File tree

1 file changed

+15
-9
lines changed
  • ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/deploy_container/tasks

1 file changed

+15
-9
lines changed

ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/deploy_container/tasks/deploy.yml

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,20 @@
2222
- name: Build {{ docker_image }} docker images
2323
command: docker build --cpu-period=100000 --cpu-quota=800000 -t aqa_{{ docker_image }} --memory=6G -f /tmp/Dockerfile.{{ docker_image }} /tmp/
2424

25-
# Without specifying a port here, docker will give the container a random unused port
26-
- name: Run {{ docker_image }} docker container
27-
command: docker run --restart unless-stopped -p 22 --cpuset-cpus="0-3" --memory=6G --detach --name {{ docker_image | upper }}.PORT aqa_{{ docker_image }}
25+
# Finds the highest port number already assigned and +1
26+
- name: Find available port
27+
shell: docker ps --format \"\{\{\.Ports\}\}\" | awk -F[:-] '{print $2}' | sort | tail -n 1
28+
register: docker_port_output
29+
30+
- name: Set docker_port variable if empty
31+
set_fact:
32+
docker_port: 32000
33+
when: docker_port_output.stdout == ""
2834

29-
# Now we want to rename the running container with the port name
30-
- name: Find assigned port of {{ docker_image }} container
31-
shell: docker port {{ docker_image | upper }}.PORT | head -n 1 | cut -d ':' -f 2
32-
register: docker_port
35+
- name: Set docker_port variable when non empty
36+
set_fact:
37+
docker_port: "{{ docker_port_output.stdout | int + 1 }}"
38+
when: not (docker_port_output.stdout == "")
3339

34-
- name: Rename {{ docker_image }} container to {{ docker_image | upper }}.{{ docker_port.stdout_lines[0] }}
35-
command: docker rename {{ docker_image | upper }}.PORT {{ docker_image | upper }}.{{ docker_port.stdout_lines[0] }}
40+
- name: Run {{ docker_image }} docker container
41+
command: docker run --restart unless-stopped -p {{ docker_port }}:22 --cpuset-cpus="0-3" --memory=6G --detach --name {{ docker_image | upper }}.{{ docker_port }} aqa_{{ docker_image }}

0 commit comments

Comments
 (0)