Skip to content

Commit 62743b8

Browse files
committed
add quickstart for compose
1 parent af567c0 commit 62743b8

File tree

4 files changed

+56
-14
lines changed

4 files changed

+56
-14
lines changed

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,7 @@
1414
"scheme": "file"
1515
}
1616
],
17+
"workbench.colorCustomizations": {
18+
"titleBar.activeBackground": "#cc69b5",
19+
},
1720
}

docs/how-to/compose-quickstart.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
(quickstart)=
2+
# Docker Compose Quickstart
3+
4+
Here are some minimal setup instructions to get you up and running with docker-compose and a container runtime on any platform. This is a pre-requisite for most of the tutorials in this documentation.
5+
6+
## Docker Already Installed
7+
8+
If have one of the following then you are good to go with no further setup:
9+
10+
- Docker Desktop on Windows WSL2
11+
- Docker Desktop on MacOS
12+
- Any Linux distribution with Docker installed
13+
14+
For WSL2 check: Settings → Resources → WSL integration → ENABLE ... Apply and Restart
15+
16+
(linux-installation)=
17+
## Linux
18+
19+
**Debian Distros**
20+
21+
```bash
22+
sudo apt install podman docker-compose-v2
23+
```
24+
25+
**RPM Distros**
26+
27+
```bash
28+
sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
29+
sudo dnf install docker-compose-plugin
30+
```
31+
32+
**Podman Integration with Docker Compose**
33+
34+
```bash
35+
systemctl enable --user podman.socket --now
36+
export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/podman/podman.sock
37+
```
38+
39+
## Windows or MacOS
40+
41+
- Install podman desktop <https://podman-desktop.io/docs/installation>
42+
- Follow [](linux-installation) above in a WSL2 or Mac terminal
43+
- For Mac, add an X11 server like XQuartz

docs/tutorials/launch_example.md

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,9 @@
44
In this tutorial we will launch a simulation beamline using docker compose. This demonstrates that a containerised beamline is portable and that the setup instructions from the previous tutorial have been successful.
55

66
:::{note}
7-
To run this demo you need docker-compose installed (not podman-compose) plus docker or podman. See {any}`podman-compose` for setup.
8-
9-
This tutorial has been tested with the following versions of software. If you have issues then you may need to update your software to these versions or higher.
10-
11-
- git 2.43.5
12-
- One of the following
13-
- docker 27.2.0 and docker-compose 2.29.2
14-
- podman 4.9.4 and docker-compose 2.29.2
7+
To run this demo you need docker-compose installed (not podman-compose) plus docker or podman.
158

9+
See [quickstart instructions](quickstart) for how to set these up on any platform.
1610
:::
1711

1812
The example beamline will launch the following set of containers:
@@ -30,6 +24,7 @@ git clone https://github.com/epics-containers/example-services
3024
cd example-services
3125
# setup some environment variables
3226
source ./environment.sh
27+
# launch the example beamline and detach the logs
3328
docker compose up -d
3429
```
3530

@@ -73,7 +68,7 @@ docker compose down
7368
```
7469

7570
:::{note}
76-
Note that the above commands use `EPICS_CA_ADDR_LIST` to point channel access clients at the localhost because the containers are only exposing the Channel Access Ports to the loopback adapter.
71+
Note that the above commands use `EPICS_CA_ADDR_LIST` to point channel access clients at the localhost because the containers are only exposing the Channel Access Ports to the loopback adapter Via a ca-gateway.
7772

7873
This means that the PVs are only accessible from the host running the containers. Which makes it ideal for tutorials.
7974
:::

docs/tutorials/setup_workstation.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,19 +43,20 @@ See these how-to pages for more information:
4343

4444
The containers used in the tutorials are x86_64 Linux. The best way to experience the tutorials is to use an Intel Linux workstation or laptop. arm64 container images have been tested but are not yet widely used in the available images.
4545

46-
Whatever your platform, if you can install virtualbox, then you can work using the applicance we provide.
46+
**UPDATE**: See the new [quickstart instructions](quickstart) for setting up the container runtime on any platform, therefore not requiring the virtualbox appliance unless that is your preferred option.
47+
48+
Whatever your platform, if you can install virtualbox, then you can work using the appliance we provide.
4749

4850
In all cases you will need an internet connection to download the software and the container images. (if you are at DLS you do not need access to DLS network resources, only the internet).
4951

5052
| Platform | Requirements |
5153
|----------|--------------|
5254
| Any Linux | admin rights only: go to {ref}`installation-steps` |
53-
| Windows | Virtualbox: go to {ref}`appliance` |
54-
| Mac x86 | Virtualbox: go to {ref}`appliance` |
55-
| Mac M1 | ?? |
55+
| Windows | Virtualbox: go to {ref}`appliance` or WSL2 and Podman Desktop |
56+
| Mac x86 | Virtualbox: go to {ref}`appliance` or Podman Desktop |
57+
| Mac M1 | Virtualbox: go to {ref}`appliance` or Podman Desktop |
5658
| DLS RHEL 8 | go to {ref}`installation-steps` |
5759

58-
5960
(appliance)=
6061
## VirtualBox Appliance
6162

0 commit comments

Comments
 (0)