►
A
As
well
after
the
meeting
so
I'll
send
some
links
out
with
that,
so
I
will
go
ahead
and
start
sharing
my
desktop.
This
is
I'm,
going
to
do
kind
of
go
through
lots
of
tutorial
information
today
and
definitely
open
to
questions
that
people
have
along
the
way
so
feel
free
folks
to
to
chime
in
and
ask
questions
as
we're
going
on.
If
folks
notice,
a
question
in
the
chat
that
I
miss
also
feel
free
to
stop
me
as
I'm
going.
A
So
this
really
like
I'm
glad
Pascal's
here,
because
hi
I
was
starting
to
play
with
docker
a
while
back
Pascal
had
done
some
work
with
it.
He
gave
me
an
overview
of
what
he
had
learned
and
then
I
took
that
too
did
a
little
bit
more
work
and
kind
of
through
this
there's
kind
of
what
we'll
go
over
today
has
been
sort
of
a
couple
months
of
learning
and
experimenting
and
I.
Think
we've
come
up
with
something
that's
going
to
be
a
pretty
useful
development
support
tool
for
folks
working
with
dspace.
A
So
here
is
a
tutorial
page.
This
is
a
repo
from
github.
So
if,
if
you
happen
to
play
with
this
after
the
meeting
this
repository
new
space
labs,
new
space,
docker
images
is
available
and
open
for
pull,
requests
so
feel
free
to
go
ahead
and
suggest
some
changes
as
you
go
through
this
material.
But
my
goal
here
is
really
to
make
it
easy
for
folks
from
their
own,
desktop
to
really
configure
just
about
any
conceivable
dspace
test
environment
that
you
could
imagine.
A
Maybe
it
would
be
difficult
with
docker
to
test
a
really
really
large
instance,
but
the
various
combinations
of
software
versions
and
database
versions.
Hopefully,
we've
made
it
easy
for
focused
in
and
to
do
some
to
configure
an
environment
for
testing.
So
just
I'll
do
like
a
quick
explanation
of
what
docker
is
and
then
kind
of
illustrate
that
using
D
space
as
an
example,
so
docker
simplifies
installation
requirements
for
hosting
an
application
by
running
with,
what's
called
an
image
or
docker
image
within
a
containerized
environment
or
a
docker
container
and
docker.
A
A
Alright,
so
in
here
you'll
see,
there's
registry
of
docker
images,
I'm
logged
in
as
myself,
so
I've
got
my
own
like
personal
docker
images
that
I've
published,
but
also
I'm
an
administrator
of
our
dspace
docker
image
registry.
So
we
have
a
number
of
images
that
can
be
referenced
and
used.
These
are
supported
by
the
project
to
make
it
easy
to
do
testing
within
docker.
C
A
So
one
of
the
things
that
we
have
done
with
our
dspace
images-
if
we
come
to
the
D
space
D
space
image,
you'll,
actually
see
that
there
are
a
number
of
different
tags,
or
these
are
versions
of
our
D
space
image.
So
we
have
a
version
of
the
master
branch
of
D
space.
This
was
most
recently
updated.
Five
days
ago
we
have
a
version
of
the
D
space,
5x
branch,
6x
branch
and
4x
branch.
So
these
are
our
three
supported
versions
in
production.
A
We
also
have
the
master
branch
where
all
of
the
D
space
7
development
is
going
on
plus
we
have
built
static
images
of
the
most
three
recent
releases
of
D
space.
So
four
point,
nine
five
point:
nine
and
six
point
three.
So
these
are
all
available
and
if,
when
I
show
you
how
you
make
use
of
a
docker
image,
all
of
these
are
readily
available
for
you
to
use
another
thing
that
we've
done
is
we
have
automated
the
build
of
the
main
branches
of
dspace.
A
So
as
the
code
for
the
master,
5x,
6x
and
4x
branches
change
will
actually
automatically
rebuild
the
docker
images
to
include
the
latest
code.
So
here,
if
you
go
to
build
details,
you'll
actually
see
a
history
of
what
has
been
built
and
how
recently
it's
been
updated.
So
if,
if
we
were
to
merge
a
whole
bunch
of
changes
on
a
given
day,
we'll
end
up
with
a
bunch
of
these
builds
queuing
up
one
after
the
other,
but
eventually
they'll
catch
up
and
become
available
for
folks
to
use.
A
So
the
other
thing
that's
docker
provides
is
something
called
a
docker
compose
file,
and
so
a
docker
compose
file
lets
you
orchestrate
the
starting
and
stopping
of
multiple
interrelated
containers.
So
if
you're
running
displays
for
five
or
six,
we
want
to
run
both
tomcat
instance
for
the
D
space
code
in
a
database
instance
most
likely
postgrads,
but
we
also
just
recently
added
some
instructions
for
how
to
connect
to
an
Oracle
database.
A
If
that's
something
that
you
need
to
test
for
D
space,
seven,
we
actually
have
three
components
that
are
orchestrated
by
a
docker
compose
file
and
those
we
you've
got
the
database.
You
have
the
Tomcat
instance
and
then
the
angular
user
interface,
so
pretty
much
most
of
the
things
I'm
gonna
do
as
we
step
through
this
tutorial
I'm,
going
to
show
you
some
very
simple
docker
commands.
But
then
the
bulk
of
this
tutorial
is
really
going
to
be
done
using
docker
compose,
which
I
think
is
going
to
be
our
recommended
approach.
A
So
I
think
we'll
find
that
if
you
need
to
do
something
directly
with
docker
on
the
command
line,
that's
available
to
you,
but
things
are
probably
easier.
If
you
control
everything
through
a
compose
file
and
when
we
take
a
look
at
some
of
these
you'll
see
all
the
things
that
are
bundled
in
there
to
make
things
convenient.
A
A
Summary
to
give
a
bit
of
motivation
for
why
we
decided
to
publish
the
space
out
to
docker
hub.
We
wanted
to
enable
users
and
then
in
my
mind,
ideally
repository
managers
as
well
to
easily
test
the
latest
code
from
each
of
our
supported
branches
of
dspace.
So
I,
the
bigger
the
trickiest
thing
is:
can
you
get
docker
running
on
your
desktop?
Docker
is
supported
on
Mac
OS
and
it's
supported
on
Windows
10,
but
only
Windows
10.
So
if
you
have
an
older
version
of
Windows,
it's
maybe.
A
It'll
make
it
very
easy
to
manage
multiple
versions
of
dspace,
so
in
particular
you
know.
Let's
say
you,
you
make
a
contribution
to
d
space,
6
and
then
folks
say
well.
You
know
what
that
that
change
looks
good.
We
should
actually
provide
that
Denyce
base
5
in
2d
space
7,
regardless
of
you,
know
that
your
own
internal
development
and
test
environment,
using
some
of
these
doctor
features
you'd,
have
the
ability
to
test
with
a
version
of
D
space.
A
That's
different
from
what's
running
in
your
main
test
environments,
so
and
then,
just
in
general,
simplify
the
number
of
dependencies.
You
have
on
your
desktop
when
you
want
to
test
key
space
so,
rather
than
installing
a
database
yourself
or
all
of
the
necessary
components
for
angular.
Just
docker
becomes
sort
of
your
your
single
desktop
dependency
that
you
have.
A
They
images
that
we're
going
to
go
over
today,
really
they
they've
only
been
used
for
development
purposes
and
really,
even
even
at
that
we're
kind
of
in
the
early
stages
of
testing.
So
I
would
say.
These
images
are
really
intended
only
for
development
use
not
for
production,
but
be
interesting
to
see
in
you
know,
as
we
make.
B
A
And
greater
use
of
this,
if
we
ever
find
these
images
would
become
an
attractive
solution
for
for
production
purposes.
So
the
first
thing
I
want
to
do
is
go
through
the
process
of
setting
up
docker,
so
we'll
see,
I've
got
a
series
of
tutorials
here
and
I
figure
based
on
how
time
goes
and
how
questions
go.
A
We'll
kind
of
work
our
way
through
several
of
these,
but
if
we
don't
happen
to
get
through
them
all
in
the
course
of
the
call
today,
they'll
be
there
and
available
for
you
to
use
I,
think
I
think
I've
got
them
sequenced
in
a
way
that
will
make
some
good
sense.
So
first
thing
we
need
to
do
is
set
up
docker
on
their
desktop
for
a
few
of
these
tutorials
I
actually
have
YouTube
videos
of
me
stepping
through
these
just
to
to
make
things
easier.
A
So
you
need
to
install
docker
on
your
desktop
and
then
you
need
a
command
line
tool
to
issue
docker
commands.
So
if
you're
running
docker
on
I
I'm
not
actually
sure
what,
if
you
run
the
Linux
as
a
desktop,
what
the
support
is
for
docker,
but
if
you're
running
Mac,
OS
I
recommend
you
use
a
bash
shell
and
then
for
Windows
10.
My
recommendation
is
to
use
the
git
bash
shell
and
the
reason
for
that
is
that
the
command
syntax
most
closely
resembles
the
syntax
that
you
use
on
Mac
OS
or
on
Linux.
A
So
it's
fairly
convenient
you
can
you
can
also
use
a
Windows
command,
shell
or
PowerShell,
but
these
instructions
in
this
tutorial
really
just
focus
on
the
git
bash
shell
and
if
you
happen
not
to
run
git
bash.
Let
me
show
you
where
I
found
it.
I'm
gonna
I,
run
github
for
Windows
and
I.
Think
in
my
options.
A
I
set
my
default
shell
to
get
bash
so
typically,
what
I
will
do
is
open
up
github
for
Windows
and
then
there's
a
keyboard
shortcut
control,
apostrophe
that
will
open
up
a
new
shell
window
and
then,
when
that
new
shell
window
opens
up,
that's
running
git
batch.
So
for
purposes
of
what
I'll
be
doing
today
from
my
Windows
computer
I'll
do
things
in
get
batch,
syntax
and
I'll
know
there's
every
so
often
we
have
to
slightly
bury
that
command
syntax
to
work
properly.
On
Windows
and
I've
made.
D
A
So
we
are
going
to
first
thing:
we're
going
to
do
is
run
a
docker
image
using
docker
and,
as
we
run
it,
we're
gonna
pass
the
RM
option
in
our
command,
and
what
that
does
is
it
says,
run
this
image
when
the
process
stops
delete,
don't
keep
a
copy
of
the
image
around
so
by
default.
Docker
will
retain
your
image,
you're
stopped
images
and
you
have
to
destroy
them
manually,
but
with
the
RM
command
it
cleans
things
up.
A
A
We'll
take
a
closer
look
at
this
in
a
minute,
so
I'm
gonna
run
docker
PS
a
so
list
I'm
listing
any
processes.
I
have
running
in
docker
and
I
currently
have
none
running.
The
first
thing
I
want
to
do
is
I'm,
going
to
run
docker
run
HRM
to
clean
up
commands,
I'm
going
to
run
an
Ubuntu
image.
So
a
simple
image
of
Linux
and
I'm
just
going
to
list
the
contents
of
the
root
directory
of
this
Linux
image.
A
And
here's
the
the
first
point
where
we
run
into
Windows
versus
Mac
OS
difference
on
Windows.
When
you
reference
the
root
directory
of
an
image,
you
have
to
double
slash
the
first
slash.
So
let
me
redo
that
command,
and
so
here
you'll
see
we're
taking
a
look
at
the
root
image
of
this
machine
and
you'll
see.
So
we
have
like
a
temp
directory
of
our
directory,
a
user
directory.
A
So
the
next
thing
we
can
do
is
rather
than
running
just
a
command
like
LS.
We
actually
could
launch
a
bash
shell
within
our
Linux
image
and
because
I'm
running
from
Windows
and
the
terminal
output
I
have
to
prefix
the
command
with
wind
PTY,
and
what
I'm
going
to
do
is
run
slash
bin,
slash
bash
within
this
image.
A
A
So
this
is
a
very
quick
and
simple
way
to
get
an
image
up
and
running
now
rap.
What
we're
gonna
do
in
future.
Steps
is,
rather
than
just
running
a
bare
bun
to
image,
we're
actually
going
to
start
running
images
containing
our
DS
based
code,
so
I'm
going
to
stop
this
running
image,
and
the
next
thing
I
want
to
do
is
illustrate
another
thing
you
can
do
so
we
have
the
ability
to
run
the
next
image.
A
A
What,
if
you
remember
when
we
went
to
the
doctor
hub
website,
if
we
had
done
a
search,
you
would
actually
find
there
is
an
image
for
Tomcat
and
there's
the
image
for
Ubuntu
that
we
used
and
then
now,
since
the
dspace
project
has
posted
dspace
images,
you
would
find
dspace
images
up
there,
but
so
now
what
I've
done
is
I've
started
a
tomcat
container
and
named
it
my
container.
So
if
I
do
a
doctor
PS
a
you'll
see
I've
got
many
whiteness
to
make
it
easier
to
see
the
results.
A
Here
you'll
see
we're
running
an
image
named
Tomcat
the
default
command.
When
you
run
Tomcat
image
is
Catalina
SH
and
our
name
is
my
container.
The
next
thing
I
want
to
do
is
actually
run
a
command
inside
of
this
container.
So,
instead
of
running
docker
run,
which
starts
a
new
container
I'm
going
to
run
docker
exec,
so
I'm
going
to
execute
a
command
within
my
container
and
the
command
I'm
going
to
execute
is
the
PWD
command.
A
So
I
want
to
look
at
the
working
directory
of
that
running
container,
so
I'm
going
to
copy
that
command
paste.
It,
and
here
you'll,
see
the
the
working
directory
for
this
container
is
user,
local
Tomcat,
which
seems
pretty
sensible,
since
it's
a
tomcat
image
that
we're
running
so
the
next
thing
I
want
to
do
is
stop
the
container
that
I
started.
A
A
So
the
last
thing
we
can
do
is
just
clean
it.
We
don't
need
that
container
anymore,
so
we're
gonna
remove
the
container.
So
it's
a
docker
RM
my
container,
if
we
do
the
docker
PS
eh
you'll,
now
see
that
there
are
no
running
containers
in
the
examples
that
follow
I'm,
going
to
control
a
lot
of
the
different
behaviors
of
docker
using
environment
variables,
so
in
Mac,
OS
or
in
a
bash
shell.
A
The
syntax
for
setting
an
environment
variable
is
export,
variable
name
equals
and
then
the
value
slightly
different
syntax
for
Windows
command
shell
and
then
I
actually
was
unable
to
figure
out
how
to
set
an
environment
variable
in
PowerShell.
So
that
was
when
I
stopped
attempting
to
use
Windows
PowerShell,
and
if
somebody
comes
along
and
figures
this
out,
it
would
be
great
to
update
the
tutorial
just
to
add
those
instructions
in,
but
now
we're
actually
going
to
take
this,
take
what
we've
done
so
far
with
the
tutorial
and
actually
run
a
real
peace
base
image.
A
A
Prerequisites
we've
set
up
doctor
4d
space.
What
I
want
to
do
now
is
set
my
environment
variable
D
space
vert
to
the
name
of
the
the
the
tagged
version
of
the
D
space
image
that
we
want
to
use.
So
you
remember,
we
had
the
master
image,
the
4,
X,
5x
and
6x
branches,
and
then
the
three
most
recent
releases
for
this
example
I
want
to
use
D
space
6x,
so
I'm
going
to
copy
that
environment
variable
here.
A
The
next
thing
I
want
to
do
is
set
an
invert
variable,
indicating
my
project
that
I
want
to
work
with
so
I'm
working
with
the
D
space
6
code
I'm
actually
going
to
set
this
variable
I'm
not
going
to
set
it
to
d6
and
set
it
to
d6
a
because
I
already
have
an
existing
d6,
which
I'll
show
you
in
a
bit
and
then
we're
going
to
take
use
docker
compose
to
start
up
our
D
space
instance.
The
first
thing
that
I
wanted
to
show.
A
You,
though,
is
what
that
docker
compose
file
looks
like,
and
let
me
increase
the
text
here
a
little
bit.
So
here
is
our
generic
D
space
docker
compose,
and
this
has
two
services
that
it
will
start.
It
will
start
a
service
called
D
space
DB
and
that
is
going
to
be
built
from
the
image
D
space
D
space
postgrads
PG
crypto.
A
There
is
a
we'll
talk
about
volumes
in
a
minute,
but
we're
setting
up
a
volume
for
storing
the
Postgres
database
content.
The
next
thing
we're
setting
up
is
a
second
service
called
D
space
that
is
built
from
an
image
D
space
D
space,
so
the
provider
or
the
sort
of
the
owner
of
the
repository
is
D
space
and
the
name
of
the
image
is
D
space,
so
d
say
slash.
D
space
is
how
we
reference
our
image
and
then
we're
referencing
a
particular
tag.
A
So
in
this
compose
file,
it's
set
up
to
default
to
D
space
6
X.
Otherwise
it
will
use
that
environment
variable
that
we
set
it's
going
to
set
the
installation
directory
for
D
space
to
slash
D
space.
So
that's
what
our
D
space
install
directory
will
be.
It
will
expose
port
8080
as
port
8080
on
the
local
machine,
so
the
within
the
container
port
8080
will
be
mapped
to
localhost
8080.
So
that's
how
we'll
reference
it.
A
If
you
wish
to
run
a
mirage,
a
mirage
2
theme
rather
than
a
regular
Mirage
theme
in
xml
UI,
you
can
uncomment
these
lines
and
it
will
sort
of
activate
a
mirage
2
theme
both
of
these
images
that
were
creating
or
running
on
sort
of
a
network
within
docker
called
D
space
net.
Our
D
space
image
depends
on
the
D
space
database
and
then
there
are
three
volumes
that
are
going
to
be
preserved
after
the
image
has
started
so
PG
data,
so
the
postgrads
database
data
the
asset
store.
A
So
that's
just
a
quick
overview
and
and
really
most
of
these
tutorials,
that
I've
created
our
tutorials
based
around
some
variant
of
this
docker
compose
file.
That
I
just
showed
you
just
with
some
additional
complications
or
features
enabled
inside
of
them,
so
the
syntax
for
starting
docker
compose
file
is
docker
compose
up.
So
up
starts
it
the
up,
dash
D
starts
it
and
detaches
the
terminal
output
from
the
window.
A
A
Alright,
so
what
happens
here
is
the
first
thing
it
says:
is
it
created
a
network
d6
ad
space
net?
So
all
of
these
images
that
are
started
sort
of
run
within
their
own
virtual
network.
It
created
three
volumes:
each
prefixed
with
that
d6
a
so.
We
have
a
volume
for
the
Postgres
data,
the
asset
store
and
solar
and
I'll
show
you
eventually
the
significance
of
these
volumes.
It's
actually
a
really
powerful
feature.
A
We've
created
an
image
d6
ad
space
DB
and
we've
created
an
image
d6
ad
space.
So
now,
if
I
run
docker,
yes
eh,
you
will
see
that
we
have
two
containers
in
an
up
status.
You
can
see
the
image
that
they
were
built
from,
so
there's
our
D
space
image
and
he
happens
to
be
named
d6
a
a
space.
One
and
you'll
see
our
database
image
and
the
container
name
is
d6
ad
space
DV.
So
now
what
I'm
going
to
do
is
open.
A
A
A
A
So
we
had
I
had
shown
you
you
have
that
ability
to
do
a
docker
exec
command,
so
you
can
connect
to
one
of
these
running
images.
Get
into
the
image.
Look
at
lock.
Files
run
dspace
commands
within
the
images
themselves.
So
a
number
of
different
things
you
can
do
once
you
have
the
images
up
and
running,
but
here
you'll
see,
I
have
a
bear
DS
based
instance,
with
no
content
up
and
running.
C
A
A
A
Now
what
I'd
like
to
do
is
verify
that
we're
running
the
version
of
D
space
that
we
think
we're
running
so
I
am
going
to.
Essentially
what
I
want
to
do
is
say:
execute
a
command
within
my
D
space
container
and
run
/d
space,
because
you
remember:
that's
our
install
directory
run
D
space,
bhindi
space
version
and
because
we're
running
this
I'm
running
this
from
Windows
I'm,
going
to
prefix
this
with
wind
PG.
Why?
A
So
the
cool
thing
is
here:
those
dspace
command
line,
tasks
that
we
we
know
and
love
we're
able
to
run
those
within
our
shell,
so
we're
running
a
6.4
snapshot
which
makes
sense
since
we've
built
that
off
the
6x
branch
we
are
the
Tomcat
image.
We're
running
is
using
this
JRE.
So
we
got
that
JRE.
It's
confirming
the
running
web
apps
running
within
the
application
and.
A
Yeah,
so
that's
that's
the
information
we
can.
We
can
glean
from
the
image
here
next
I
want
to
verify
that
the
database
schema
contains
what
I
expect
it
to
contain.
So
what
we're
going
to
do
is
we're
going
to
run
a
command
within
the
database
image
and
we're
going
to
run
some
sequel
so
we're
running
the
psql
command
within
the
database.
A
A
A
A
A
All
right
so
now
you'll
see
I'm
the
root
user
within
this
container
I'm
at
director,
user,
local
Tomcat
and
what
I
want
to
do
is
run
D
spaces
in
D
space
version.
So
the
same
thing
we
ran
before,
but
I'm
going
to
run
that
within
the
container
itself
and
we'll
get
the
same
information
that
we
got
before
when
we
ran
it
externally.
A
C
B
A
A
A
A
This
time
it's
create
recreating
the
network,
it's
recreating
the
containers,
but
it
doesn't
need
to
recreate
the
volumes
and
where
this
becomes
really
handy
is
you
can
create
some
docker
containers
load,
a
bunch
of
test
data
that
test
data
will
be
preserved
to
a
set
of
volumes.
Then
you
can
completely
destroy
those
containers,
update
the
D
space
software,
recreate
the
containers,
possibly
with
new
software,
but
we
use
the
contents
of
the
existing
volumes.
A
So
this
is
a
way
for
your
test
data
or
your
test
assets
to
persist,
in
spite
of
the
version
of
the
software
that
you're
running
so
part
of
my
rationale
for
using
this
PD
progeria
ballif
I'm,
imagining
that
for
myself,
I
might
want
to
have
4x
5,
X,
6
X
and
a
7
X
version
of
D
space,
and
they
want
to
keep
I
want
to
reuse.
The
volumes
anytime
I
run
deep
space.
A
So
the
next
thing
that
I
want
to
show
you
is
the
oh
and
here
would
be
our
command
to
go
and
destroy
those
volumes
where
we
too
want
to
destroy
those
volumes
which,
which
I
actually
don't
care
to
do
at
this
point.
But
the
next
thing
I'm
going
to
do
is
show
you
how
to
ingest
content
into
containers,
but
I
wanted
to
take
a
pause.
If
folks
have
any
questions
at
this
point.
A
A
Specialized
version
of
the
compose
file,
particularly
for
purposes
of
ingesting
content,
so
that
the
main
variation
from
the
compose
files
that
we
saw
before
is
I'm
mounting
a
volume
called
ingest
tools,
and
this
is
based
on
an
environment
variable
into
a
directory
called
ingest
tools
within
our
database.
Image
and
I'm
also
mounting
that
same
directory
into
our
D
space.
A
Image
and
our
D
space
image
we're
mounting
we're
using
an
environment,
variable
AIP
dur
to
mount
a
directory
of
AIP
files
to
facilitate
ingest
into
our
images.
Otherwise,
this
compose
file
is
the
same
as
the
composed
PI,
a
file
that
we
worked
with
before
and
I
want
to
show
you
the
content
of
those
tools.
A
A
Directory
of
a
IP
files-
and
it's
it's
in
a
published
project
that
you
can,
you
can
find
it's
linked
on
the
on
the
tutorial
page,
but
it's
essentially
a
bunch
of
pictures
of
my
dog
so
content
that
what
I
felt
comfortable
making
freely
available
so
I'm
setting
a
IP
directory
to
my
local
clone
of
this
repository
with
a
bunch
of
test
data
in
it.
So
I'm
going
to
set
that
variable,
and
then
this
ingest
tools
variable
it's
already
set
to
this
default.
So
this
this
is
referencing
those
ingest
scripts.
A
A
A
A
A
A
So
one
of
the
one
of
the
challenges
that
I
I've
faced
and
I'm
not
sure
if
this
is
due
to
my
lack
of
knowledge
of
docker
or
if
it's
something
peculiar
to
docker
itself
is
I.
What
I
would
really
like
to
be
able
to
do
is
as
I
create
these
volumes.
I
wish
I
could
clone
the
volumes
and
then
sort
of
version
them
and
reuse
them.
I've
not
seen
a
command
for
that
purpose.
A
With
docker,
though
you
can
any
volume
that
you
access
and
docker,
you
can
mount
it
as
a
local
filesystem
volume
rather
than
a
docker
volume,
and
then
it's
explorable
from
your
filesystem,
the
caches.
It's
my
understanding.
If
you
mount
a
local
directory
versus
a
volume,
that's
purely
managed
by
docker.
A
It's
it's
it's
less
performant
when
it
needs
to
manipulate
things
using
the
local
filesystem,
but
so
right
now
we're
storing,
like
the
dee
spades,
install
directory
in
this
volume
that
we
call
dee
space.
But
we
could
instead
say
mount
c
colon
size
d,
space
2d
space
within
our
image
and
then
anything
I
would
do
within
my
running.
Image
would
actually
be
visible
as
a
directory
on
my
Windows
desktop,
so
I
I
think
it's
got
some
capabilities
to
expose
content,
I'm,
not
sure
if
I
answered
your
question
or
not
I
feel
free
to.
D
Terry
I'll
I'll
chime
in,
but
this
is
Chris
by
the
way
it's
I'm
kind
of
with
you.
That
seems
to
be
my
underst
Ducker
and
how
volumes
work
is.
If
you
have
I
guess
I
fount
volume,
you
can
explore
that
data,
it's
more
easily
portable,
but
you
do
get
more
performance
across
different
multiple
containers,
especially
if
you're
sharing
data
within
a
deep
space
or
sorry,
a
docker
volume
itself.
D
B
D
D
C
C
C
Access
from
the
host
system
to
two
other
PS
that
you
loaded
up
in
2d
space-
and
maybe
you
also
have
a
cron
job
that
is,
writing
a
database
dump
such
a
bind
volume.
So
then
you
can
have
can
can
can
run
on
your
on
your
host
system,
backup
system
that
is
destroying
all
these
data
database
dump
and
f53
to
your
backup.
So
you
have
some
secured,
for
example,
to
come
back
to
your
question.
If
you
can
access
the
volume
directly,
that
was
not
previously
mounted
on
your
host
system
and
your
container
I
looked.
B
C
This
for
Mac
OS
and
there's
a
description
and
it
is
possible,
but
to
me
honestly,
it
looked
painful
because
it
depends
on
which
version
you
are
using
they're
using
different
volume
formats
depending
on
the
darker
version.
So
on
time.com
version
you
have
a
cue
cow
and
others.
You
have
some
kind
of
war
image
and
then
there
are
tools
that
you
can
use
to
change
this
into
another
format,
for
example
to
mount
it
in
your
VirtualBox
or
VMware
or
whatever
you
are
using.
C
A
A
This
ingest
example
that
I
was
showing
I
was
I,
was
recommending
running
a
docker
CP
rather
than
mounting
the
directory,
and
then
it
just
seemed
like
it
was.
It
was
easier
to
sort
of
express
all
the
variants
in
the
compose
file,
rather
than
instructing
folks
to
use
this
command
syntax,
but
this
also
might
help
ok,
alright,
so
perfect.
Timing
on
the
question
is
that
actually
allowed
all
all
of
our
content
to
load?
A
There's
one
quirk
of
working
with
AIP
files
in
D
space,
and
that's
that
you
have
to
update
the
sequence
ID
table
after
you
do
an
ingest
content,
so
the
other
command
I'm
going
to
run
is
in
the
database
image
I'm
going
to
run
update
sequences
SQL,
which
I've
also
provided
in
the
ingest
tools
directory.
So
let
me
run
that
command
real
quick,
and
that
indicates
that
if
we
add
any
more
content
beyond,
what's
in
our
a
IP
files,
all
that
you
need
me
sequencing
will
behave
properly.
Okay.
So
now
our
content
is
configured.
A
A
So
that's
the
the
process
of
ingesting
continent.
Now
the
cool
thing
is
remember
how
I
explained
the
way
our
volumes
work.
We
use
this
deep
space
ingest
compose
to
ingest
content
into
the
repository
we
could
shut
down
our
D
space
images.
Go
back
to
that
original
directory
that
we
were
working
with,
that
didn't
have
the
mounted
AIP
files
or
script
files
reconstitute
our
containers
and
all
this
content
would
still
be
present
because
it's
been
retained
in
the
volumes.
So
that's
where
the
power
of
these
preserved
volumes
becomes
really
useful
when
working
with
docker
compose.
A
All
right,
so
the
next
thing
I
want
to
show
you
is
a
slight
variation.
So
in
this
example,
we
were
over,
we
were
supplying
additional
mounts
in
order
to
add
content
to
our
repository.
The
next
thing
I
want
to
do
is
show
you
how
you
can
modify
code
within
your
docker
container
and
we're
going
to
use
a
specialized
D
space
dev
composed
file.
So
let
me
first
I
wanted
I'm
going
to
go
ahead
and
stop
our
container
I
mean
actually
I'll
use
the
immense
I
provided
here.
A
A
In
this
example,
we
are
going
to
set
a
variable
called
D
space
source,
and
that
is
indicating
our
source
directory
from
which
we're
going
to
deploy
code
in
2d
space.
Now,
in
my
record,
my
recommendations
are
that
you
run
the
maven
task
locally
on
your
desktop,
because
I
found
maven
is
painfully
slow
when
I
try
to
run
it
within
docker.
But
then
you
run
the
ant
task
to
deploy
into
your
container.
A
A
A
A
A
A
A
A
Creates
symlinks
in
/d
space
over
to
the
Tomcat
directory
so
that
all
the
web
apps
are
served
up
from
the
D
space
install
directory.
So
this
is
what's
going
on
in
the
docker
file.
It's
relatively
simple,
I!
Don't
want
to
spend
too
long
going
over
this,
but
we're
gonna
leverage
the
fact
that
our
final
D
space
image
is
a
version
of
Tomcat
that
has
ant
installed
within
it.
That's
what
will
allow
us
to
deploy
new
code
into
our
image,
so
you
may
remember
I
I
have
restarted
our
containers.
A
We've
not
modified
any
code,
yet
the
content
from
our
volumes
were
preserved.
So
all
the
the
photos
of
my
dog
are
still
present
within
these
containers,
and
the
next
thing
I
want
to
do
is
deploy
that
code.
Modification
that
I
showed
you
and
so
what
we're
going
to
do
is
we're
going
to
use
our
mounted
source
directory
and
go
to
the
dspace
installer
directory.
A
A
A
D
Laughter
out
there
I'm
going
to
put
it
in
the
chat,
but
while
we're
waiting,
when
do
you
guys
expect
that
maybe
deep
space
would
be
our
sorry
doctor
would
be
a
viable
means
of
production
de
Swiss
deployment.
They
all
have
a
timeline
for
that,
or
is
that
just
a
matter
of
comfort
level
or
their
specific
things
that
you
guys
haven't
figured
it
out
figure
it
out?
Yet
you
know.
A
An
interim
step
that,
in
in
my
dream,
world
that
I
would
like
to
see
is
I
would
love
it
if
we
figured
out
how
to
deploy
docker
containers
to
something
like
AWS
and
be
able
to
build
like
pull
requests
test
environments
in
the
cloud
based
off
of
docker
images,
so
that
to
me
is
like
a
next
step,
I'm
interested
in
to
actually
say
production
support
for
it.
That's
yeah,
it's
hard
for
me
to
even
know
you
know
when
or
if
that
would
be
in
the
picture.
Yeah.
A
B
B
There's
just
so
many
variables
in
place
when
it
comes
to
production
that
it's
really
hard
to
manage
that
centrally,
but
I
think
it
I
think
there
would
be
a
goal
of
being
able
to
build
pretty
stable,
docker
images
that
you
could
extend
to
build
your
own
production
and
images
or
build
from,
but
we
wouldn't
be
managing
those
production
quality
instances
centrally.
If
that
makes
sense,
sure.
D
D
Not
going
to
happen,
but
you
know
as
far
as
running
deep
space
and
docker,
are
there
any
giant
red
flags
that
you
guys
have
seen
so
far
against
that
you
know,
even
if
we
just
kind
of
did
it
on
our
own,
you
know
we
could
take
the
regular
D
space
github
repo,
that
we
would
normally
build
these
space
with
anyways
and
just
run
it
in
the
docker
container.
Instead
of
directly
on
a
mono
instance
of
Linux
or
something
yeah.
B
And
I'll
actually
mention
I,
don't
think
there
are
any
red
flags
and
I
think,
potentially
you
could
even
yeah.
You
could
look
at
what
Terry
is
presenting
here,
as
as
places
to
start
from
we
just
don't
like
to
make
promises
that
this
is
production
ready
until
we
feel
more
confident.
Obviously,
because
there
is
a
very,
very
new
I'll
also
note
that
that
I
am
aware
that
there
are
actual
actually
sites
out
there.
That
runs
East
based
on
docker
and
there's.
D
B
Service
providers
who've
done
this
that
in
the
past
as
well,
I
am
not
aware
of
them
actually
sharing
their
images
publicly,
but
I've
heard
through
the
grapevine
that
that
folks
have
done
this
and
done
it
successfully.
So
this
is
kind
of
the
first
instance
of
us
trying
to
come
together
and
share
what
all
we've
learned
and
see
if
we
can
build
that
sort
of
common
base
image
or
at
least
something
that
people
could
start
to
look
at
and
build
their
own
images
off
of
and
learn
from
so
we're
kind
of
in
the
early
days.
B
B
That's
correct
I
would
think
that
one
thing
you
would
want
to
have
in
a
more
production
scenario,
though,
is
to
be
able
to
redeploy
with
like
say,
more
memory
or
or
tweaking
your
Postgres
options,
if
you're
using
a
Postgres
database
for
a
better
performance.
So
there's
things
of
that
nature
that,
in
a
production
sort
of
scenario,
those
become
a
little
bit
more
important,
because
if
you
start
to
hit
performance
issues
with
your
dspace
docker,
because
you've
suddenly
got
an
influx.
B
If
I
don't
know
hundreds
of
thousands
of
items
and
you
need
a
little
bit
more
memory
to
work
with
and
you'd
want
to
be
able
to
tweak
that
relatively
easily
and
redeploy.
So
there's
things
like
that
to
become
more
more
important
in
production
and
are
less
important
in
development
and
testing
scenarios,
because
we're
not
really
trying
to
do
that
yet
at
least
sure.
C
I
think
we're
are
two
goals
loses
one
goal
is
to
make
it
easy
to
test
and
develop
the
space.
I
think
we're
really
really
close
to
this.
The
other
goal
is
to
show
out
how
people
can
come
to
a
point
where
they're,
okay
and
give
it
introduction
to
people
to
run
these
patient-doctor,
so
they
can
get
on
their
own
to
a
point
to
run
it
in
production,
and
that
means,
as
Tim
explained,
all
the
details
you
have
and
just
head
up
that
what
we
want
to
touch
before,
for
example,
the
backup
strategy.
C
These
are
things
you
really
have
to
solve
on
your
own,
depending
on
your
own,
your
local
look
shut
up.
What
we
can
provide
is
way
that
shows
you.
These
are
scripts.
These
are
files.
These
are
build
files
that
helps
you
to
run
docker
and
the
small
parts
of
details
embedding
in
in
your
framework.
These
are
things
you
will
have
to
do
on
your
own
locally.
D
A
We
do
have
ones
like
a
defaced
docker
channel,
not
not
terribly
active,
but
I.
Think
the
folks
who
are
most
excited
about
this
are
monitoring
it.
So
you
know
like,
as
you
do
your
own
experimentation
and
make
some
progress
definitely
share.
Share
your
findings
there
and
you
never
know
what
you'll
inspire
other
people.
It's
kind
of
like
these
casual
conversations
that
the
handful
of
us
had
sort
of
you
know
led
us
to
get
to
the
point
where
we've
got
what
we've
got
today,
yeah.
D
B
C
B
B
D
Would-
and
this
is
really
where
doctors
focus
their
doctor
service
question
where
says
in
deep
space,
but
and
you
guys
experiences
docker
what
what
sort
of
limitations
of
docker
where
we
run
into
first?
Would
it
be
space
or
memory
and
as
that
manageable
through
doctor,
or
is
that
just
a
sailing
duck
or
has
and
you'd
have
to
figure
out
how
to
put
things
up
after
you
hit
at
that
limit?.
B
C
C
A
No,
no
but
I
would
say
the
one
limitation
I
ran
into
so
I
got
like
a
third
of
my
harddrive
sort
of
allocated
for
docker
use
and
before
we
automated
the
builds
of
the
dspace
to
run
on
docker
hub
I
was
free,
I
was
running,
lots
and
lots
of
docker
file
builds
like
image
builds
and
on
a
nearly
daily
basis.
I
completely
filled
that
hard
drive
allocation.
So
there
are
some
some
actions
and
I
think
I'm
mostly
encountered
it
running
docker
build
rather
than
running
actual
images
where
it
just
used.
A
A
So
often,
maybe
once
a
week,
I
need
to
explicitly
stop
and
restart
the
docker
process.
I
don't
know
like
potentially
that
could
be
because
docker
pushed
updates
or
it
might
just
be
my
docker
sort
of
run.
You
know
service
got
in
a
bad
state
and
just
needed
to
be
restarted,
but
then
it
seemed
like
once
I
restarted
at
things
function
pretty
well.
D
Well,
one
of
the
limits
that
I've,
just
seen
with
dr.
general
is
the
container
sizes
that
default
container
size
is
10
gigs.
But
if
you're
linking
your
database
to
running
a
volume,
there's
a
volume
to
the
volumes
have
that
kind
of
space
constraint.
I
know
where
rabbit
trailing
here,
but
really
try
to
figure
out
how
this
works.
D
A
D
D
A
Great
well
let
me
pop
it
back
to
what
I
was
doing
so
you
all
saw
I
ran
the
ant.
Deploy
I
ran
a
docker
compose
restart
because
because
I
changed,
the
code
I
wanted
to
restart
Tomcat,
and
then
I
refresh
my
page
so
here
you'll
see
that
change
that
I
deployed
has
now
taken
effect
within
the
repository.
So
it
is
possible
to
you
know
not
only
use
the
published
images,
but
actually
to
use
it
as
a
test
environment
for
deploying
changes.
Little
I
mean
it
was
a
little
sluggish
running
that
ant
update.
A
So
I
have
a
hippo
of
other
things.
That
I
could
show
you
all,
and
maybe
so
we've
got
ten
minutes
left
and
glad
I'm
glad
to
go
through
another
example,
in
particular,
if
they're
ones
that
folks
are
interested
in.
But
I
wanted
to
point
out
here
on
the
wiki
page
for
a
meeting
today,
I
added
three
next
steps
that
I
would
like
to
see
happen
I'd
like
folks
to
try
out
the
tutorial
and
then
report
back
on
their
progress.
A
If
you
see
any
any
errors
in
the
tutorial
or
have
improvement,
ideas
submit
a
pull
request
to
the
tutorial
repo
and
then,
if
folks,
have
any
ideas
or
great
sets
of
sample
content
that
folks
could
use.
I
would
love
to
see
us
build
up
like
a
little
repo
of
useful
AIP
files
that
folks
could
reference
rather
than
people
trying
to
create
their
own
test
data.
Obviously
it
would
need
to
be
freely
distributable
content
if
we're
publishing
it
in
a
type
II
files,
but
anyway
those
are.
A
I
think
we
just
want
to
point
out.
There
are
there's
a
way
to
run
D
space
to
have
an
angular
and
the
rest
api.
With
darker
compose.
We
also
have
a
docker
compose
file
just
for
running
angular
and
then
it
connecting
to
an
external,
deep
space,
REST
API.
So
a
couple
of
interesting
things
there
I
added
a
new
tutorial
for
using
docker
and
then
some
instructions
on
how
to
create
automated
builds
for
your
own
pull
request.
A
A
A
A
So
in
the
meantime,
while
we're
waiting
for
this
to
run
also
make
a
pitch,
if
folks
have
any
ideas
for
future
developer,
show-and-tell
meetings
will
be
glad
to
schedule
those
we
don't
have
any
pending
agenda
items,
so
I'm
gonna
kind
of
wait
till
we
have
another
topic,
and
once
we
have
a
topic,
we'll
we'll
set
up
another
set
of
meeting
so
reach
out.
If
you've
got
ideas
of
things
that
we,
you
think
would
be
of
interest
to
a
deep
space
developers.
A
A
C
C
A
B
Don't
think
I
have
any
other
updates
to
to
share
right
now,
but
I
agree
with
what
both
of
you
have
said
in
terms
of
jumping
on
slack
and
and
getting
involved
most
of
our
day
to
day
discussions.
These
days
do
happen
on
slack,
we
still
do
use
the
developer
mailing
list
on
occasion,
but
if
you
want
to
get
engaged
with
development
going
on
an
activity
is
definitely
jump
on
slack
and
there's
channels
for
all
sorts
of
topics
there
and.
A
A
The
rest
api
has
started
and
let
me
just
I'll
just
put
some
items
so
here
we
we
found
our
collection
of
items
and
they're
going
to
be
the
same
pictures
of
my
dog,
probably
that
are
loading
here.
I've
loaded,
the
angular
UI
on
localhost,
3000
and
you'll,
see
dog
photos
community
so
that
same
content,
I
had
loaded
into
my
beast
base
7
and
let's
look
at
a
picture
of.
A
Anyway,
so
you
can
see,
we've
got
I
guess
I
haven't
built
up
nails
over
here,
but
we
do
have
some
images
loaded.
So
here
now
we're
running
up
curly
within
docker
we're
running
the
base.
7
rest
api,
a
compatible
database
in
the
angular
UI,
all
you
know,
without
installing
any
other
software
other
than
docker
on
the
desktop.