Skip to content
This repository was archived by the owner on Mar 4, 2024. It is now read-only.

Commit 53cabcf

Browse files
author
Charles Butler
committed
Merge pull request #21 from simonklb/issue-20
Add support for login to private registry servers
2 parents c929612 + a024f2d commit 53cabcf

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

charms/docker/docker.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def run(self, image, options=[], commands=[], arg=[]):
6161
except subprocess.CalledProcessError as expect:
6262
print("Error: ", expect.returncode, expect.output)
6363

64-
def login(self, user, password, email):
64+
def login(self, user, password, email, registry=None):
6565
'''
6666
Docker login exposed as a method.
6767
@@ -70,6 +70,8 @@ def login(self, user, password, email):
7070
:param email: - Email address on account (dockerhub)
7171
'''
7272
cmd = ['docker', 'login', '-u', user, '-p', password, '-e', email]
73+
if registry:
74+
cmd.append(registry)
7375
subprocess.check_call(cmd)
7476

7577
def logs(self, container_id, raise_on_failure=False):

tests/test_docker.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,14 @@ def test_login(self, docker):
5151
spmock.assert_called_with(['docker', 'login', '-u', 'cloudguru',
5252
'-p', 'XXX', '-e', 'obrien@ds9.org'])
5353

54+
def test_login_registry(self, docker):
55+
with patch('subprocess.check_call') as spmock:
56+
docker.login('cloudguru', 'XXX', 'obrien@ds9.org',
57+
registry='test:1234')
58+
spmock.assert_called_with(['docker', 'login', '-u', 'cloudguru',
59+
'-p', 'XXX', '-e', 'obrien@ds9.org',
60+
'test:1234'])
61+
5462
def test_pull(self, docker):
5563
with patch('subprocess.check_output') as spmock:
5664
docker.pull('tester/testing')

0 commit comments

Comments
 (0)