Instances launched using the Atmosphere web user interface are by default installed with the EZ command line tools, designed to streamline some common tasks and functions.
There are a number of different ez commands, including:
- ez → a help menu listing available tools
- ezj → run jupyter-notebook with python detection (Recommend m1.medium or larger)
- ezjh → run jupyterhub (currently requires CyVerse CAS credentials) (Recommend m1.medium or larger)
- ezd → install docker (Only supported on Ubuntu 14+ and CentOS 7)
- ezs → install singularity (Only supported on Ubuntu 14+ and CentOS 6+)
- unban → list blocked IP addresses or remove blocks for IP addresses trying to access the instance
- myip → set environment variables $JETSTREAM_PUBLIC_IP and $CYVERSE_PUBLIC_IP to the public IP Address and display the same to the screen
Options to pass to 'ez':
update -> perform a full update of the ez facility
Options to pass to 'ezj':
-q : do not attempt to install, just launch jupyter!
-R : install the R kernel (-r also works)
-2 : force python 2 kernel (not compatible with -3 option)
-3 : force python 3 kernel (not compatible with -2 option)
-u : force update of anaconda (default is no update)
-p : takes a directory as an option; install in a different location other than default (/home)
NOTE: if you set this, you must pass it again for future calls
*** You do not need to run ezj more than once. You can start/restart a notebook with the commands: "ezj -q" or "jupyter-notebook" .
Options to pass to 'ezjh':
NOTE: Only run if you have CyVerse access and are familiar with CAS
The installation may take up to 10 minutes to complete
*** You do not need to run ezjh more than once. You can start/restart a hub with the command: jupyterhub .
Options to pass to 'ezd':
-p : enable portainer on port 9000
[js-host] MY-USER ~-->ezd
* Updating ez docker and installing docker (this may take a few minutes, coffee break!)
remote: Counting objects: 25, done.
remote: Total 25 (delta 0), reused 0 (delta 0), pack-reused 25
Unpacking objects: 100% (25/25), done.
* docker was updated successfully
You shouldn't need to use ezd again on this system, unless you want to update docker itself
NOTE: If you'd like to run docker as your system user and you can't (i.e. get a permission denied),
you can use the following command: sudo usermod -a -G docker myusername
replace 'myusername' with your login. You may need to logout and login again.
To test docker, type: docker run hello-world
[js-host] MY-USER ~-->docker run hello-world
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.so
ck/v1.35/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
[js-host] MY-USER ~-->sudo docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
For more examples and ideas, visit:
[js-host] MY-USER ~-->sudo docker run -it ubuntu bash
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
22dc81ace0ea: Extracting [==================================================>] 42.96MB/42.96MB
1a8b3c87dba3: Download complete
22dc81ace0ea: Pull complete
1a8b3c87dba3: Pull complete
91390a1c435a: Pull complete
07844b14977e: Pull complete
b78396653dae: Pull complete
Status: Downloaded newer image for ubuntu:latest
oot@f35a04ce5c1c: /root@f35a04ce5c1c:/# ls
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
root@f35a04ce5c1c: /root@f35a04ce5c1c:/# exit
[js-host] MY-USER ~-->
Options to pass to 'ezs':
[js-host] MY-USER ~-->ezs
* Updating ez singularity and installing singularity (this may take a few minutes, coffee break!)
remote: Counting objects: 11, done.
remote: Total 11 (delta 0), reused 0 (delta 0), pack-reused 11
Unpacking objects: 100% (11/11), done.
* singularity was updated successfully
You shouldn't need to use ezs again on this system, unless you want to update singularity itself
To test singularity, type: singularity -v run library://sylabsed/examples/lolcow
Hint: it should output a cowfucious saying:
[js-host] MY-USER ~-->singularity -v run library://sylabsed/examples/lolcow
INFO: Downloading library image
VERBOSE: Set messagelevel to: 4
VERBOSE: Starter initialization
/ They have been at a great feast of \
| languages, and stolen the scraps. |
| -- William Shakespeare, "Love's |
\ Labour's Lost" /
usage: unban [-l] [-i ip-address] [-a]
-l : print all currently banned ips
-i : unban a single ip address
-a : unban all ip addresses
Note: use only one of -l, -i, or -a at a time
[js-156-82] MY-USER ~-->myip
[js-156-82] MY-USER ~--> echo $JETSTREAM_PUBLIC_IP