Earlier quoted context omitted.
Docker may be overkill to start but it's relatively low cost to implement and it will definitely pay dividends over time: * You can be sure that what you're running locally is exactly what you'll be running on the server * Your deployment experience will be the same regardless of which tech stack you're using for the web application * There are many places you can deploy docker containers (Google GCE, Amazon ECS, Ama…
> it's relatively low cost to implement Running Docker in production takes a huge amount of effort to get right and is not easily done.
What's new in Docker 1.13: prune, secrets, checkpoints and more
51–60 of 62 posts
Re: What's new in Docker 1.13: prune, secrets, checkpoints and more
#52Curious what methods others use for handling secrets at build time (using docker-compose). I'm currently installing (private) dependencies at runtime by mounting my secrets as a volume. I couldn't find a method that didn't seem to have some risk of inadvertently exposing them.
There are only methods that I'm aware of: - Exposing the secrets on a (http) server that the Dockerfile can use to fetch - What we use: Create a one time use secret that is destroyed after the image is built and before it is pushed.
This approach has sparked my interest, could you post an example of any open source docker-compose file and/or associated scripts that would do this?
Re: What's new in Docker 1.13: prune, secrets, checkpoints and more
#53Earlier quoted context omitted.
But the thing people complain most isn't because they want to delete everything but because they need docker rm, xargs and complex bash foo to delete the containers and images they don't need. For example I want to delete all old and all untagged versions of an image. I want to delete all stopped containers that use a specific image, or that were created more than two weeks ago. I want to delete all images starting w…
fyi, you do not need xargs. `docker rm $(docker ps -q --filter blash)` But agree, `prune` is currently sledge hammer and needs some refinement. It's not about not being well thought out, it's about getting something out there that can be built on top of.
Re: What's new in Docker 1.13: prune, secrets, checkpoints and more
#54Earlier quoted context omitted.
> it's relatively low cost to implement Running Docker in production takes a huge amount of effort to get right and is not easily done.
I dont believe that's an accurate assessment. If the grandparent wants to run a one off container with reproducible results, something like docker-compose is perfect. If he wants to run a multi-node microservices architecture then the story gets more complicated.
Re: What's new in Docker 1.13: prune, secrets, checkpoints and more
#55I'm really looking forward to seeing the scientific community adopt docker as a way to distribute reproducible research and coursework. MIT 6.S094 has a Dockerfile[^1] that contains all the software required for taking part in the class. This is a huge boon for getting stuck into the class and its coursework. [^1]: http://selfdrivingcars.mit.edu/files/Dockerfile
IMHO, every Dockerfile has left-pad written all over it.
Re: What's new in Docker 1.13: prune, secrets, checkpoints and more
#56Earlier quoted context omitted.
Docker is very well suited for local development and testing, particularly since the launch of Docker for Mac and Windows. It makes utilities like MAMP less necessary. But apart from local development, I'd say that depends on your needs. If you want more ease-of-use, and you run a single-server hosting environment with multiple projects, it may be easier to keep doing that without adding Docker. But if you want incre…
Docker for local development for us been a pain in the butt. - We've hit performance problems with the filesystem, - Problem with caching things like yarn and npm install - The need to constantly rebuild the images for changes to be picked up. - Dificulty dealing with single docker file for prod and testing, making us want to montain 2 docker files. Probably some bad setup of our part, but we've been using on product…
It sounds as though your setup doesn't work with the immutable filesystems introduced by docker. That's not an issue with docker at all - just something to learn.
I can't imagine dev or deployment without docker any more - all of my tests, yarn installs, dev workflow and prod runs through it.
Re: What's new in Docker 1.13: prune, secrets, checkpoints and more
#57Earlier quoted context omitted.
There are only methods that I'm aware of: - Exposing the secrets on a (http) server that the Dockerfile can use to fetch - What we use: Create a one time use secret that is destroyed after the image is built and before it is pushed.
>What we use: Create a one time use secret that is destroyed after the image is built and before it is pushed. This approach has sparked my interest, could you post an example of any open source docker-compose file and/or associated scripts that would do this?
As long as you add the file and remove it in the same command it doesn't get committed as an extra layer, so the container won't have any history of the secrets. You'll run into problems if you do multiple RUN's or an ADD and then RUN.
Re: What's new in Docker 1.13: prune, secrets, checkpoints and more
#58I'm just a guy that wants to deploy web apps. Is docker overkill for me? Basically, I want to be able to test something on my local machine under the same conditions it will be running on my server. Containerisation seems like the only way to do this that doesn't involve keeping packages and system configurations in sync in two or more systems.
Re: What's new in Docker 1.13: prune, secrets, checkpoints and more
#59Re: What's new in Docker 1.13: prune, secrets, checkpoints and more
#60I'm really looking forward to seeing the scientific community adopt docker as a way to distribute reproducible research and coursework. MIT 6.S094 has a Dockerfile[^1] that contains all the software required for taking part in the class. This is a huge boon for getting stuck into the class and its coursework. [^1]: http://selfdrivingcars.mit.edu/files/Dockerfile
How is publishing a Dockerfile even remotely reproducible? Almost every Dockerfile is a series of apt-get install, or yum install or pip install commands. How do I know what versions of packages I am downloading or whether they will even be available to download if I build from this Dockerfile, say two months from now? IMHO, every Dockerfile has left-pad written all over it.
Reproduciblity is all about the starting point. Computers are electronic, so if your computation requires high entropy from some random source and supposed next run there is not enough entropy your experiment may fail. But that's really really really a corner case. Docker image keeps the state of the starting point (kernel, packages, history of bashrc etc) are kept version controlled. It is as if someone gave you a copy of the virtualbox image.
So how do we lock down?
1) When you start with a Dockerfile, specify the version of the packages you are installing
2) When you want to reproduce, you can rebuild an image with that Dockerdile.
3) But most people are just going to use your image which is always the same now or next year. Building image != launching a container using an image.