►
Description
SharePoint PnP Webcast around how to use Docker with SharePoint Framework development. You can find details on webcast content from http://dev.office.com/blogs
More information and additional assets around SharePoint Development community from http://aka.ms/sppnp.
A
Welcome
to
the
shape
on
patterns
and
practices
webcast
at
this
time,
we're
gonna
talk
about
a
docker
and
how
to
use
the
docker
in
the
SharePoint
framework
development.
My
name
is:
oh,
so
you
wanna
I'm
a
Senior
Program
Manager
from
SharePoint
engineering
and
with
me
today,
as
the
person
who's
going
to
do
a
live
demo
as
well
is
wall
deck
master
cards.
So
while
they
really
did
a
quick
interest
as
well.
B
A
A
That's
that's
really
great
way
of
putting
it,
because,
obviously,
if
we
think
about
the
classic
shape
on
development,
we
we
potentially
might
have
used
and
DMS
for
isolating
our
stuff
and
and
the
docker
is
actually
enabling
this
kind
of
an
isolation
in
a
much
more
lightwei
lightweight.
But
let's
actually
have
a
quick
look
on
and
the
added
value
of
using
the
docker
in
the
SharePoint
framework
development.
So
what
does
it
actually
mean?
A
Well,
it
means
that
you
can
easily
isolate
or
you
can
host
multiple
different
versions
of
SharePoint
framework
in
a
single
machine,
so
you
can
actually
run,
for
example,
SharePoint
framework
1.0
for
your
one
project
and
1.3
or
1.1
1.4
or
whatever,
for
the
other
projects
as
well.
So
we're
able
to
kind
of
isolate
these
different
SharePoint
framework
versions,
but
it
does
it's
not
just
about
SharePoint
frame
for
a
copy
of,
so
you
can
also
isolate
different
tools
and
configurations,
meaning
NPM
or
if
you
want
to
test
yarn
or
other
other
setups.
A
You
can
absolutely
isolate
them
inside
of
the
docker
images
as
well,
and
this
is
also
a
great
tool
for
setting
up
an
image
or
a
development
image
for
your
development
team,
so
standardizing,
for
example,
the
tools
and
setups
what
people
should
be
using
when
they're
doing
development
to
a
SharePoint
framework.
Sorry
it
is
it
absolutely
a
crucial
tool
for
let's
say
in
the
price
or
team
development
practices
and
like
well.
They
actually
already
did
or
explained
in
the
introduction.
It's
the
docker
images
are
much
more
lightweight
than
a
classic
virtual
machines.
A
A
You
obviously
won't
be
upgrading,
always
the
latest
and
greatest
Ripon
framework
solution
for
all
of
your
customers
at
the
same
time,
so
you
need
to
be
able
to
support
multiple
versions,
and
this
is
absolutely
the
case
scenario
when
the
doc
work
will
help.
Now
before
we
go
to
the
actual
demo,
anything.
What
I'm
missing
from
an
introduction
perspective,
oh
yeah,.
B
A
I'm,
like
mentioned
absolutely
there,
if
you
have
multiple
customer
D,
formants
and
you've
done,
for
example,
a
customer
project
back
in
last
spring
or
a
year
ago,
in
the
spring,
whatever
time
frame,
we're
watching
the
video
and
you're
potentially
using
a
different
shape,
one
framework
version
and
different
in
B
NPM
version
as
well
or,
if
you
and
then
create
want
to
use
the
latest
and
greatest
or
preview
capabilities,
potentially
in
SharePoint
framework,
which
we
might
be
actually
doing
in
the
future.
For
SharePoint
framework,
you
want
to
isolate
those
within
your
development
environment.
A
So
it's
really
around
providing
you
that
replacement
for
a
classic
VMs
to
do
version
specific
deployment,
look
that'd,
be
the
right
way
of
putting
that
I.
Think
so.
Yes,
perfect
cool.
So
let's
actually
have
a
live
demo
on
this
one.
So
Walter
is
gonna
serve
this
one
in
practice,
so
let's
jump
on
wall
decks
and
desktop
and
then
come
back
on
their
slides.
After
done
all.
B
Right
so
let's
have
a
look,
how
you
can
use
the
docker
images
in
practice
in
SPFs
development,
so
the
first
thing
that
you
need
is
actually
docker
itself
right.
You
can
get
it
from
docker
calm
and
that
just
an
installer
you
you
have
to
run.
There
is
installer
for
Windows
for
Mac
for
Linux
own,
no
matter
where
you
run,
you
can
get
and
get
the
tool
right.
B
Exactly
exactly
right,
so
imagine
you're
on
it
first
time,
so
you
have
docker
in
in
installed,
but
you
don't
have
any
images
and
in
this
image,
think
of
it
as
a
template
from
which
you
want
to
run
a
VM
right.
So
images
are
templates.
Containers
are
instances
of
these
images
right,
so
you
can
have
one
image
and
you
can
run
five
instances
of
it,
which
is
five
containers
ran
of
a
single
image.
B
Originally,
when
you
start,
you
don't
have
any
images
right
and
there
are
two
ways
in
which
you
can
get
them,
so
if
I
would
go
to
command
line,
and
this
works
exactly
the
same
on
Mac,
Windows
and
Linux.
So
even
though
I'm
doing
a
demo
on
the
Mac,
you
will
be
able
to
use
exactly
the
same
commands
on
Windows
right.
So
there
is
no
no
thing
Mac
specific
to
it.
So
first
thing
that
you
can
do
is
to
check
which
images
you
already
have
on
your
your
OS.
B
A
A
B
B
Imagine
that
you
wanted
to
run
it
first
time
right
and
you
don't
have
anything
wait.
What
you
can
do
is
you
can
go
to
hub
dot,
docker,
calm
and
hop
is
actually
the
place
where
people
can
publish
their
images
to
you
think
of
it
as
equivalent
of
NPM
GS,
but
then
in
in
the
docker
world,
and
in
here
you
can
search
for
images
that
somebody
else
like
me
already
put
there.
B
So
here
we
would
search
for
SPF
X,
and
here
you
see
a
number
of
hits
and
if
you
grab
the
first
one
you
will
get
to
the
page
where
you
can
see
all
info
about
the
image
right
put
together
for
SPF
X
and
you
can
either
use
this
one
or
you
can
build
image
by
yourself.
Building
an
image
is
not
complex.
It's
something
that
you
can
do
relatively
easily,
but
it's
out
of
scope
for
this.
Well,
this
web
webcast.
B
We
can
record
another
one
about
that,
but
for
now
we
will
just
run
the
image
that
I
put
together.
If
you
go
to
tabs,
you
can
see
the
different
versions
of
image
that
I
put
together.
Why?
Because
each
each
image
is
tied
to
a
different
version
of
SPF
X
right.
So
here
you
can
see
version
one
point,
four
point,
one
one
point
4.0
and
so
forth,
and
so
on
going
all
the
way
back
to
release
two
a-pillar
release
right.
B
So
when
you
run
an
image
when
you
pull
image
down,
you
have
to
tell
the
docker
hub
which
version
of
that
image
which
tag
you
actually
want
to
use
right.
If
you
just,
if
you
don't
specify
a
tag,
you
will
get
the
latest
image
so,
which
is
always
the
latest
which
I
map
to
the
latest
version
of
SPF
X
available
at
a
time
which
currently
is
one
point,
four
point
one.
B
If
we
switch
back
to
the
first
step,
the
repo
info
here,
I
even
included
a
command
that
you
can
copy/paste
and
run
it
and
the
whole
image
were
will
run
and
there
is
a
little
difference
regarding
the
name
of
the
image
right.
So
if
you
are
on
a
Mac
OS,
you
will
get
first
one.
If
you
are
on
Windows,
you
will
grab
another
one
I'm
on
a
Mac.
So
let
me
just
grab
this
one
and.
B
B
Your
project
is
on
your
disk,
so
the
way
it
works
is
that
when
you
run
container
you
that
a
location
on
your
hard
disk
on
your
host
to
docker,
so
with
that
where
you
met
basically
a
local
drive
with
docker
container,
so
that
container
and
every
and
all
tools
that
are
that
are
in
it,
have
access
to
that
location.
On
your
disk,
docker
images
don't
have
by
default
access
to
your
whole
disk.
They
can
only
access
whatever
locations.
From
your
hard
drive.
You
share
specifically
with
that
container.
A
So,
just
to
simplify,
basically
what
you're
saying
and
you
clarified
the
whole
longer
run
of
the
story,
but
to
get
started,
obviously
need
to
create
a
folder
where
you
locally
will
store
the
solution
which
then
could
be
potentially
put
on
the
VST
or
VSO.
Whatever
correct
that
cut,
that's
coming
from
your
local
machine.
Yes,.
B
B
The
basically
say
start
IT
means
interactive,
so
it
means
that
you
want
to
have
a
command
prompt
with
which
you
want
to
interact
with
that
container,
because
in
this
case
we
want
to
be
able
to
run
yo
man
to
run
gulp
and
all
these
tools
are
inside
container.
So
we
need
to
have
a
command
prompt
that
we
can
run
against
that
container,
not
against
our
house,
because
our
host
doesn't
have
and
and
and
right
it
doesn't
even
have
note
might
not
have
note
right.
B
So
all
your
tools
are
stalled
in
are
stored
inside
container,
which
is
busy
a
VM,
so
you
need
a
command
prompt
to
dead
VM.
So
that's
the
IT
part.
Next
we
see
the
dash
dash
RM
and
that
part
is
specific
to
docker,
because
when
you
start
Hong
Kong
on
pinare
and
then
stop
it,
docker
will
not
remove
it
because
it
thinks
like
well
imagine
that
your
app
would
run
inside
of
it
and
it
broke,
and
you
want
to
debug
it.
So
it
gives
you
the
ability
to
afterwards
be
able
to
open
that
container.
B
But
in
our
case
our
files
are
stored
on
our
disk
on
the
house.
So
there
is
no
need
for
us
to
retain
container
after
it
is
stopped.
So
with
that
we
say
after
I
closed
the
command
prompt
from
container
remove
container,
so
don't
start,
keep
the
image
the
blueprint,
a
template,
but
remove
container
that
make
sense,
absolutely
okay,
cool.
B
Next
we
give
it
a
name
so
that
when
we
run
containers
we
can
tell
the
one
from
from
another
so
that
so
for
that
we
used,
we
use
the
name
switch.
Then
we
say
V
and
we
specify
this,
and
that
part-
and
this
is
a
important
part,
because
with
this
part,
we
map
our
directory
from
the
host
to
a
location
inside
the
container,
so
that
we
can
run
yeoman
and
gulp
and
npm
install
on
the
same
folder
where
files
are
our
files
are
store
stored
on
the
host.
B
But
we
want
to
be
able
to
use
the
tools
from
darker
on
that
location.
So
we
map
the
two
locations
to
one
and
dollar.
Pwd
is
a
bash
equivalent
of
current
directory.
So
if
you
were
to
run
this
command
on
Windows,
you
would
say
the
whole
command
the
whole
path
in
bash.
You
can
just
say
dollar
PWD
that
will
map
the
current
directory,
in
which
I
am
now
to
this
local
path
inside
inside
docker,
and
this
path
will
be
exactly
the
same
for
me
for
you,
for
everybody
who
uses
this
image
that
I've
built
and.
A
Now
and
that's
because
you
define
that
path
within
your
docker
image
to
be
the
location
and
then
correct,
and
then
then
alright.
This
is
the
part
which
is
different
between
a
Mac
and
Windows
like
I,
said,
and
that's
why
there
is
a
two
different
lines
in
your
documentation:
correct,
so
cool
correct.
What.
B
Whenever
you
change
a
file
in
project
so
or
all
these
posts
ports,
you
want
to
expose
them
from
inside
your
container,
where
the
tools
run
actually
to
your
host,
so
that
in
browser
on
your
host,
because
in
docker
doctor
doesn't
have
a
GUI.
You
cannot
log
in
to
a
docker
image,
because
there
is
nothing
to
it
right.
B
So
what
what
you
will
do
is
you'll
you'll
start
container,
it
will
run,
but
you
will
use
the
browser
on
your
host
actually
go
to
localhost
451
and
you
will
be
able
to
open
the
workbench
right.
So
that's
butBut
to
be
able
to
do
that.
You
have
to
map
the
port
from
container
to
a
port
on
your
host
and
then
finally,
at
the
end,
you
specify
the
name
of
the
image
that
you
want
to
run.
B
In
our
case,
let's
run
explicitly
the
one
point
for
point
one
again:
if
you
don't
specify
a
tag,
you
will
use
the
latest
one
which
might
might
be
different
over
time
right
so
ideally
always
include
here
a
tag
name
in
my
case
being
the
verse
of
SPF
X,
for
which
I
have
image
right.
So
in
this
case
one
point
four
point
point
point
one:
okay,
so
we
run
it
and
it's
already
on
no
way
that
you
would
run
a
regular
VM
so
fast.
B
A
B
Is
a
Linux
image
but
they're
really
easily
updated
right,
so
there's
no
yeah
yeah
all
right
so
in
in
here.
The
first
step
that
we
do
is
we
create
a
new
project
so
for
that
we
run
just
as
as
we
would
do.
Otherwise
you
know
Microsoft,
SharePoint
and
first
time
is
going
to
ask
us
if
we
want
to
improve
yeoman.
No,
we
don't,
and
now
we
just
go
through
the
regular
process
of
creating
new
project,
so
SPF
acts
share,
put
on
line
current
folder,
yes,
deploy
to
all
sides.
B
Web
part,
HelloWorld,
no
JavaScript
framework
and
we
created
and
that
just
a
regular
yeoman
flow.
There
is
nothing
specific
to
it
to
the
fact
that
reruns
in
docker
actually
and
everything
that
I
could
have
done
is
to
create.
Maybe
I
can
just
do
that
here.
Let
me
open,
and
you
quickly
to
show
you
actually
that
the
files
are
being
actually
created
was
it
was
it
called?
It
was
called
PMP,
PMP
yeah,
so
here
we
see
that
we
get
files
created
on
our
host.
I
am
now
on.
B
A
You
can
go
to
another
folder
and
just
spin
up
and
up
at
another
door
running
and
then
do
yo
there
at
the
same
times.
This
is
running.
All
works
perfectly
fine.
So
basically,
what
you're
saying
is
that
the
only
thing
what
you
need
to
do
is
to
go
and
copy
the
line
from
your
there
from
the
from
the
docker
hub
and
now
we're
recording
this
one.
A
We
do
not
have
an
official
SP,
FX
docker
from
Microsoft
side
and
we're
looking
into
doing
that,
obviously
in
the
future
now,
but
for
now,
and
the
process
will
be
pretty
much
exactly
the
same.
What
you're
seeing
within
this
video
as
well,
but
if
that's
the
only
thing
to
do
and
you're
able
to
actually
have
multiple
different-
let's
say:
environment
setups,
that's
absolutely
brilliant!
Yep
I
know
I've
mentioned
on
the
advantages
of
this
one,
absolutely
great
for
team
development,
and
the
experience
is
exactly
the
same
in
Windows
and
Micmac
and
in
Linux.
A
A
B
To
give
you
an
error
proof
that
this
is
not
going
that
that
that
this
command
prompt
works
inside
a
VM.
Let
me
try
to
run
code
vs
code,
so
here
I
would
type
code
dot
and
it's
not
going
to
work.
Why?
Because
in
now,
I
am
inside
a
docker
container
that
doesn't
have
the
vs
code
so
for
the
furrow,
or
that
I
would
switch
to
another
problem
which
is
on
my
host
and
in
here
I
can
run
code,
and
here
I
will
get
window
well
in
which
I
can
work
with
the
code.
B
A
B
Alright,
this
is
the
only
step,
so
project
is
almost
done
building
and
packaging
three
to
one
year,
so
we
are
done
here
now
we
can
switch
the
browser,
and
here
we
can
say
HTTP
localhost,
four,
three,
two
one,
ten
port,
which
is
that
regular
SharePoint
framework
URL
that
you
would
use
on
your
host
as
well
and
in
here
you
will
get
the
alert
because
the
cert
is
again
inside
docker
and
not
on
my
host.
So
that's
all
fine.
We
can
skip
that
and
in
here
we
can
say
hello
world.
B
B
What's
wrong
with
that
there
you
go
right!
So,
even
though
it
says
there
it
doesn't,
it
could
be
done
years
from
some
time
to
run
still
yeah
right
in
a
way.
Still
we
have
the
web
part
here.
We
can
add
it
to
the
page
and
it's
there
and
now,
let's
switch
to
visual
with
your
code.
Do
a
little
change.
Welcome
to
SharePoint
in
docker,
save
it
switch
to
our
command
line.
That's
rebuilding
rebuilding.
B
A
A
How
would
I
put
it
in
the
way
that
nobody
is?
No?
No,
that's
fine!
That's
fine,
so
ship
on
framework
development
can
be
done
in
any
platform
which
is
really
really
really
the
key
and,
in
my
case,
I'm
using
a
Windows,
but
just
as
well,
I
could
be
using
a
Mac,
so
it
really
doesn't
matter,
and
the
key
point
here
is
to
understand
it's
like
we
mentioned
during
the
demo
as
well.
The
model
is
precise.
A
Almost
the
same
well,
I
would
say
precisely
the
same
in
any
operating
system,
where
you're
using
a
docker
and
really
did
the
advantages
is
the
isolation
and
the
docker
is
the
lightweight
much
more
lightweight
than
a
classic
VM
to
isolate
the
development
experience.
What
else
are
we
missing?
From
a
summary
perspective,
one.
B
A
Absolutely
and
I'm
just
gonna
refer
their
free
iterate,
your
reiteration
as
well.
So
so,
if
you
think
about
the
classic
SharePoint
development,
we
we
definitely.
This
is
a
model
which
we
used
to
do
in
my
customer
engagements
as
well.
So
we
created
a
standardized
VM
for
farm
solution,
potentially
for
a
DIN
solution.
You
could
do
that
for
SharePoint
favorite
solution,
but
then
you
need
to
maintain
that
VM,
and
that
is
absolutely
taking
a
lot
of
time
and
all
of
that
is
gone
if
they're
using
it
the
docker.