mirror of
https://github.com/goharbor/harbor.git
synced 2025-01-03 14:37:44 +01:00
Merge pull request #91 from AlexZeitler/master
Add documentation to run Harbor using Docker Machine.
This commit is contained in:
commit
c9f0abaf7e
56
contrib/deploying_using_docker_machine.md
Normal file
56
contrib/deploying_using_docker_machine.md
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
### Deploying Harbor using Docker Machine
|
||||||
|
Docker Machine allows you to deploy your containers to several cloud providers or on premises using a unified interface.
|
||||||
|
To deploy Harbor using Docker Machine, first create a virtual machine using Docker Machine.
|
||||||
|
|
||||||
|
This example will use DigitalOcean, but you can use VMware vCloud Air, AWS or Azure as well. Please see the list of supported drivers in the [Docker Machine driver documentation](https://docs.docker.com/machine/drivers/).
|
||||||
|
|
||||||
|
```
|
||||||
|
$ docker-machine create --driver digitalocean --digitalocean-access-token <youraccesstoken> harbor.mydomain.com
|
||||||
|
```
|
||||||
|
|
||||||
|
After the machine has been created successfully, you need to create a DNS entry at your provider for e.g. harbor.mydomain.com using the IP address for the machine we just created.
|
||||||
|
You can get this IP address using:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ docker-machine ip harbor.mydomain.com
|
||||||
|
```
|
||||||
|
|
||||||
|
Make sure to change the `hostname` in `Deploy/harbor.cfg` to `harbor.mydomain.com`, configure everything else according to the [Harbor Installation Guide](../docs/insallation_guide.md) and run `prepare`.
|
||||||
|
|
||||||
|
Now, activate the created Docker Machine instance:
|
||||||
|
|
||||||
|
`$ eval $(docker-machine env harbor.mydomain.com)`
|
||||||
|
|
||||||
|
From within the `Deploy` directory, next copy the contents of the `config` directory to the machine.
|
||||||
|
First, get your local path to the `Deploy` directory:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ echo $PWD
|
||||||
|
```
|
||||||
|
|
||||||
|
This will give you something like this:
|
||||||
|
|
||||||
|
```
|
||||||
|
/home/<yourusername>/src/harbor/Deploy
|
||||||
|
```
|
||||||
|
|
||||||
|
Then create this directory structure on the remote machine and copy the local files to the remote folders:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ docker-machine ssh harbor.mydomain.com 'mkdir -p /home/<yourusername>/src/harbor/Deploy/config
|
||||||
|
$ docker-machine scp -r ./config harbor.mydomain.com:$PWD
|
||||||
|
```
|
||||||
|
|
||||||
|
Next, build your Harbor images:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ docker-compose build
|
||||||
|
```
|
||||||
|
|
||||||
|
And finally, spin up your Harbor containers:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
Now you should be able to browse `http://harbor.mydomain.com`.
|
Loading…
Reference in New Issue
Block a user