↓ Skip to main content

Docker

DockerCon 2020

·496 words·3 mins
I had an opportunity to attend DockerCon 2018 in person - it was great experience in wonderful city - Barcelona. My notes from it are here. I missed previous year (for variety of reasons), but DockerCon this year (as many other tech events) was purely virtual so I was able to see some part of it. Compared to 2018, the general tone and content of this DockerCon was quite different. In 2018 it felt like all the attention is focused on big enterprise (mainly Microsoft related) and what Docker as a company is looking for best way how to hook big firms with deep pockets.

DockerCon 2018 - great event (with a small fly in the ointment)

·2039 words·10 mins
I have just returned from DockerCon Europe 2018 and I’d like to share my impressions while they are fresh in my mind. It was my first DockerCon so I was not quite sure what to expect. As the title says, it was great experience and barring the scaling issue (more below) could have been really awesome experience. But let’s take things in order. First location - Barcelona. Hard to pick better place in December than Spain. I am sure the Northerners greatly appreciated the break from cold and enjoyed the balmy 15 to 20 degrees. The venue Centre de Convencions Internacional de Barcelona - CCIB - though not located in the centre, is at the shore and one can walk to the beach in 2-3 minutes. There were three of us going from Valencia office (which is 3 hours train ride down the coast from Barcelona) and we had also great hotel experience. I can highly recommend Hotel Princess Barcelona. What can be better than starting your day with watching sunrise over Mediterranean Sea. Thanks David - because you did such a great job, you are now in charge of travel and hotel booking going forward :-D

Useful tool for Dockerhub

·191 words·1 min
Skopeo # I have stumbled upon this tool: https://github.com/containers/skopeo - command line tools for manipulation with Docker images and Docker image registries. It can work with OCI images as well as the original Docker v2 images. Installation # brew install skopeo Usage # ➜ deploy-2018-10-24 skopeo --override-os=linux inspect docker://docker.io/fedora { "Name": "docker.io/library/fedora", "Digest": "sha256:b41cd083421dd7aa46d619e958b75a026a5d5733f08f14ba6d53943d6106ea6d", "RepoTags": [ "20", "21", "22", "23", "24", "25", "26-modular", "26", "27", "28", "29", "branched", "heisenbug", "latest", "modular", "rawhide" ], "Created": "2018-09-07T19:20:02.809176076Z", "DockerVersion": "17.06.2-ce", "Labels": null, "Architecture": "amd64", "Os": "linux", "Layers": [ "sha256:565884f490d9ec697e519c57d55d09e268542ef2c1340fd63262751fa308f047" ] } It works with protected repos as well - as long as creds are provided

VisualVM inside Docker container

The idea / motivation # In order to run VisualVM from predefined configuration you need to point the app to the user directory. This directory takes about 20MB, but 90% of the the content is actually generated or repeated. ➜ 4devops-visualvm git:(master) du -sh tw-sl/* 244K tw-sl/config 7.3M tw-sl/modules 52K tw-sl/repository 4.0K tw-sl/update 104K tw-sl/update_tracking 11M tw-sl/var ➜ 4devops-visualvm git:(master) du -sh tw-wool/* 248K tw-wool/config 7.2M tw-wool/modules 60K tw-wool/repository 4.0K tw-wool/update 104K tw-wool/update_tracking 11M tw-wool/var ➜ 4devops-visualvm git:(master) du -sh tw-wool 19M tw-wool The only part that is specific and worthy of maintaining in the Git repo is repository

Native OS-X Docker (Beta) - not quite there yet

·644 words·4 mins
I was intrigued by convenience of using Docker natively on Mac, without dealing with differences localhost != dockerhost, so I subscribed for Beta and installed it. Good news 1 # It can coexist with previous Docker installation (mostly) - see the note at the end. As long as you do not try to run native Docker and docker-machine at the same time, things coexist.

Fixing docker-machine error after upgrade

·388 words·2 mins
I had to upgrade docker toolbox on Yosemite to get latest docker-compose additions. After installing the new package, I was not able to connect to docker machine: ➜ ~ docker-machine status Stopped ➜ ~ docker-machine start default Starting "default"... (default) Check network to re-create if needed... (default) Waiting for an IP... Machine "default" was started. Waiting for SSH to be available... Detecting the provisioner... Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command. ➜ ~ docker-machine env default Error checking TLS connection: Error checking and/or regenerating the certs: There was an error validating certificates for host "192.168.99.100:2376": tls: DialWithDialer timed out You can attempt to regenerate them using 'docker-machine regenerate-certs [name]'. Be advised that this will trigger a Docker daemon restart which will stop running containers. Regenerating the certificates did not solve the problem. Neither did reboot.

Docker - getting started

·201 words·1 min
After the reboot # docker version Client: Version: 1.9.1 API version: 1.21 Go version: go1.4.3 Git commit: a34a1d5 Built: Fri Nov 20 17:56:04 UTC 2015 OS/Arch: darwin/amd64 Cannot connect to the Docker daemon. Is the docker daemon running on this host? ➜ gitolite-admin git:(master) docker-machine active No active host found ➜ gitolite-admin git:(master) docker-machine env default Error checking TLS connection: default is not running. Please start it in order to use the connection settings ➜ gitolite-admin git:(master) docker-machine start Error: Expected to get one or more machine names as arguments ➜ gitolite-admin git:(master) docker-machine start default (default) Starting VM... Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command. ➜ gitolite-admin git:(master) docker-machine env default export DOCKER_TLS_VERIFY="1" export DOCKER_HOST="tcp://192.168.99.100:2376" export DOCKER_CERT_PATH="/Users/miro/.docker/machine/machines/default" export DOCKER_MACHINE_NAME="default" # Run this command to configure your shell: # eval "$(docker-machine env default)" ➜ gitolite-admin git:(master) eval "$(docker-machine env default)" ➜ gitolite-admin git:(master) docker version Client: Version: 1.9.1 API version: 1.21 Go version: go1.4.3 Git commit: a34a1d5 Built: Fri Nov 20 17:56:04 UTC 2015 OS/Arch: darwin/amd64 Server: Version: 1.9.1 API version: 1.21 Go version: go1.4.3 Git commit: a34a1d5 Built: Fri Nov 20 17:56:04 UTC 2015 OS/Arch: linux/amd64 Useful guide # See https://viget.com/extend/how-to-use-docker-on-os-x-the-missing-guide