I uploaded some presentations to SpeakerDeck.com tonight.
Here are various presentations of mine at SpeakerDeck.com and SlideShare.net:
I was trying to get some structured information from docker images,
hoping to replace some ugly Sed and AWK trickery.
I could have used the docker-py library.
Instead I chose to use the poorly documented --format option to docker images
(and some other Docker CLI commands).
Adrian Mouat gives some useful starting points at Docker Inspect Template Magic
and notes that formatting is built around Go templates.
I quickly figured out that this format would meet my immediate need.
sudo docker images --format '{{.Repository}}:{{.Tag}}' \
| grep $IMAGE_NAME \
| grep -v latest \
| head -1
That's fine, but …continue.
[Previously published at the now defunct MetaBrite Dev Blog.]
I attended DockerCon 2016 in Seattle
over the last two days and I learned a lot.
It was a well-run conference with an enthusiastic audience.
I'm astounded at the growth of Docker.
Three-and-a-quarter years ago,
Docker was revealed to the public for the first time,
in a five-minute lightning talk at PyCon 2013.
In January 2016, Docker Hub had received 1.6 billion image pulls;
by this month, that number had jumped to over 4 billion pulls!
DockerCon had over 4,000 attendees and nearly 100 exhibitors,
who clearly believe there's a multi-billion dollar market for containers.
DataDog concurs, in a report on Docker adoption.
I complained yesterday about my difficulties in deploying Docker containers on AWS.
I have since succeeded in getting my app to deploy on ElasticBeanstalk,
though I have not quite ironed out all the problems.
I found several problems:
- I had to revert from a Multi-Container Docker environment
to a Single-Container Docker environment
because ECS wasn't starting in the multi-container environment.
That meant I had to revert to a v1 Dockerrun.aws.json.
- I had to ensure that the Instance Profile had the
AmazonEC2ContainerRegistryReadOnly policy attached,
so that I could pull from the EC2 Container Repository.
I complained a few weeks ago about how hard it was to deploy Docker containers on AWS.
This week has been nothing but container-related frustration.
We have two apps running in Kubernetes clusters on top of AWS.
This is not a well-supported scenario and we have a fragile script
that spends a lot of time sitting in polling loops,
waiting for various things to happen like DNS updates taking effect,
the new cluster being available, and so on.
One of the apps has decided to stop deploying.
I do not know why.
I've been trying to get a new app deployed on ECS, the EC2 Container Service.
The way to …continue.
I made a number of updates to the FlyingCloud Documentation tonight.
I hope to give a lightning talk about FlyingCloud
at PyCon on Monday evening or Tuesday morning,
and I put together some slides for that too.
I spent a couple of frustrating hours this evening
trying to figure out an easy way to deploy a Docker container on AWS.
I tried out the EC2 Container Service and got lost
in a sea of Clusters, Tasks, and Services.
I couldn't connect to the EC2 instance where my container supposedly lived.
I tried Elastic Beanstalk and gave up in exasperation.
When you create a new Docker environment,
there's no way to pull an existing image from an external repo
that I could see.
We have some tools for deploying a Docker image to Elastic Beanstalk,
but they were so cryptic that I didn't want to pursue that.
Eventually I …continue.
I just announced the release of FlyingCloud 0.3.0
on the flyingcloud-users mailing list.
I'll have more to say about FlyingCloud in future.
For now, let's just say it's a tool that we use to build
Docker images using masterless SaltStack.
I'll be speaking about FlyingCloud at Wednesday's PuPPy meetup.