Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "docker compose"
-
I showed a friend of mine a project I made in two days in Docker and Symfony php. It is a rather simple app, but it did involve my usual setup: Nginx with gzip/cache/security headers/ssl + redis caching db + php-fpm for symfony. I also used php7.4 for the lolz
He complained that he didn't like using Docker and would rather install dependencies with composer install and then run it with a Laravel command. He insisted that he wanted a non-docker installation manual.
I advised him to first install Nginx and generate some self-signed certificates, then copy all the config files and replace any environment-injected values (I use a self-made shell script for this) with the environment values in the docker-compose files.
Then I told him to download php-fpm with php 7.4 alpha, install and configure all the extensions needed, download and set up a local Redis database and at last re-implement a .env file since I removed those to replace them with a container environment.
He sent an angry emoji back (in a funny way)
God bless containerized applications, so easy to spin up entire applications (either custom or vendor like redis/mysql) and throw them away after having played with them. No need to clutter up your own pc with runtime environments.
I wonder if he relents :p9 -
docker documentation is terrible. Mf'ers seem allergic to giving actual functional examples.
Watch me generate a 1-to-1 copy of the docker compose docs (real & true):
`docker compose --help > docs.html`13 -
Useful docker aliases
alias dstart='docker start "$@"'
alias dstop='docker stop "$@"'
alias drm='docker rm "$@"'
alias dip='docker inspect --format "{{ .NetworkSettings.IPAddress }}" "$@"'
alias dls="docker ps"
alias dlsa="docker ps -a"
alias dps="docker ps"
alias dimg='docker images "$@"'
alias drestart='docker restart "$@"'
alias dcommit='docker commit "$@"'
alias dinspect='docker inspect "$@"'
alias dlogs='docker logs "$@"'
alias dcp='docker cp "$@"'
alias dinfo='docker info'
alias dcompose='docker-compose "$@"'
alias dlogs='docker logs "$@"'
alias drshell='docker exec -it -u 0 "$@"'11 -
Last meeting I suggested we started using unit test and perhaps TDD on our platforms.
My boss is open to it and everyone seems to like the idea...
Now I just discovered that our dumbass coworker is trying to say by my back that its a bad idea to double the code efforts and that he sees no point in it...
Well dumbass cock sucker who can't even fucking remember how to write `docker-compose up` without messing things up you can fuck your self because you are certainly gonna be fucked sideways untill the end of the year.4 -
You know what? I'm gonna write my own WordPress theme and I'll write it in my own docker compose.14
-
Whatever you do, don't do this.
- a sleep for 300s to avoid full 24 hour rollover (lol)
- sleep 1d instead of cron; so at random times emails will be sent out or they won't at all
- this is a laravel project, there's a thing called task scheduling: https://laravel.com/docs/5.8/...
Git blame: https://github.com/invoiceninja/...
The actual core project docs at least tell you to setup a cron, though not via * * * * * nor task scheduling, which isn't as much of an issue though as their dogshit docker compose: https://invoice-ninja.readthedocs.io/...6 -
My best case "Deploy Bittersweet Pipeline":
Prep a bunch of carrots, cucumber and tomatoes for day snacks. Roll & cut some pasta noodles, cook stock with fresh veggies & mushrooms, add some droopy soft boiled egg(s) to the broth, drizzle in some black garlic hot sauce. Enjoy that breakfast with an unsweetened Australian flat white and a half-liter cup of chai spiced green tea. Watch some science/tech/woodworking/cooking YouTube videos while feeding my Bittersweet Jr girl.
(yeah my mood is determined for about 90% by food)
Fire up docker compose & IDEs, and start refactoring code and migrating/fixing old databases.
My worst case "Fatal Incident Bittersweet Repair & Recovery Process":
Stuck while refactoring the worst kind of trash code since 9am.
Pour a glass of Tawny Port at 9pm. Pour a glass of cognac at 11pm. Unwrap 3 chocolate bars and break them into chunks in a bowl. Look at IDE, get nauseated, not from the booze or chocolate, but from the code.
Can't fall asleep because code is too broken, that crap should simply not exist. Take some LSD and amphetamine, can't sleep anyway. Start splitting several 10k-line-long files into smaller classes, type until my fingers have blisters. Empty two bags of Doritos, order a large Falafel with extra garlic sauce at 4am.
Fall asleep at 5am with my face on my keyboard, wake up at 9am with keyboard pattern on my skin.
Cook some hangover noodles.
Call work that I'm taking 3 days off. Feed Bittersweet Jr while I watch some YouTube channels with her. Bittersweet has successfully rebooted.1 -
I have spent the last 24 hours trying to connect a postgres db and a docker contained application both running on the same vps.
What no one told me was docker applications run on a separate network interface…
I need sleep...5 -
I didn't really find the usefulness of Docker until I used Docker Compose. Deploying our architecture with a simple 'docker-compose up' FeelsGoodMan.jpg1
-
Docker is funny.
I'll try to fire up docker-compose and it will freak out.
Docker Error: "Oh man! Oh man! Something is wrong! It's probably not docker it's YOUR CONTAINER!!!! WTF DUDE!!!"
Me: "Uh docker ... your little systray icon indicates docker itself is broken right now...""
Docker: "No way man, i'm sure it's your fucked up container, must be something wrong with it!!!"
Me: "I'm just gonnna restart you."
Docker: "OK but I'm just say'n th----"
-restarts docker-
-restarts docker-compose-
Docker: "OMG It's up!!!!"6 -
How could I only name one favorite dev tool? There are a *lot* I could not live without anymore.
# httpie
I have to talk to external API a lot and curl is painful to use. HTTPie is super human friendly and helps bootstrapping or testing calls to unknown endpoints.
https://httpie.org/
# jq
grep|sed|awk for for json documents. So powerful, so handy. I have to google the specific syntax a lot, but when you have it working, it works like a charm.
https://stedolan.github.io/jq/
# ag-silversearcher
Finding strings in projects has never been easier. It's fast, it has meaningful defaults (no results from vendors and .git directories) and powerful options.
https://github.com/ggreer/...
# git
Lifesaver. Nough said.
And tweak your command line to show the current branch and git to have tab-completion.
# Jetbrains flavored IDE
No matter if the flavor is phpstorm, intellij, webstorm or pycharm, these IDE are really worth their money and have saved me so much time and keystrokes, it's totally awesome. It also has an amazing plugin ecosystem, I adore the symfony and vim-idea plugin.
# vim
Strong learning curve, it really pays off in the end and I still consider myself novice user.
# vimium
Chrome plugin to browse the web with vi keybindings.
https://github.com/philc/vimium
# bash completion
Enable it. Tab-increase your productivity.
# Docker / docker-compose
Even if you aren't pushing docker images to production, having a dockerfile re-creating the live server is such an ease to setup and bootstrapping the development process has been a joy in the process. Virtual machines are slow and take away lot of space. If you can, use alpine-based images as a starting point, reuse the offical one on dockerhub for common applications, and keep them simple.
# ...
I will post this now and then regret not naming all the tools I didn't mention. -
I'm not sure is it a container technology or a zoo...
Docker is Whale
Docker Compose is Squid
Podman is Seal
Linux is Penguin
Are we live in the Arctic?8 -
I wrote a node + vue web app that consumes bing api and lets you block specific hosts with a click, and I have some thoughts I need to post somewhere.
My main motivation for this it is that the search results I've been getting with the big search engines are lacking a lot of quality. The SEO situation right now is very complex but the bottom line is that there is a lot of white hat SEO abuse.
Commercial companies are fucking up the internet very hard. Search results have become way too profit oriented thus unneutral. Personal blogs are becoming very rare. Information is losing quality and sites are losing identity. The internet is consollidating.
So, I decided to write something to help me give this situation the middle finger.
I wrote this because I consider the ability to block specific sites a basic universal right. If you were ripped off by a website or you just don't like it, then you should be able to block said site from your search results. It's not rocket science.
Google used to have this feature integrated but they removed it in 2013. They also had an extension that did this client side, but they removed it in 2018 too. We're years past the time where Google forgot their "Don't be evil" motto.
AFAIK, the only search engine on earth that lets you block sites is millionshort.com, but if you block too many sites, the performance degrades. And the company that runs it is a for profit too.
There is a third party extension that blocks sites called uBlacklist. The problem is that it only works on google. I wrote my app so as to escape google's tracking clutches, ads and their annoying products showing up in between my results.
But aside uBlacklist does the same thing as my app, including the limitation that this isn't an actual search engine, it's just filtering search results after they are generated.
This is far from ideal because filter results before the results are generated would be much more preferred.
But developing a search engine is prohibitively expensive to both index and rank pages for a single person. Which is sad, but can't do much about it.
I'm also thinking of implementing the ability promote certain sites, the opposite to blocking, so these promoted sites would get more priority within the results.
I guess I would have to move the promoted sites between all pages I fetched to the first page/s, but client side.
But this is suboptimal compared to having actual access to the rank algorithm, where you could promote sites in a smarter way, but again, I can't build a search engine by myself.
I'm using mongo to cache the results, so with a click of a button I can retrieve the results of a previous query without hitting bing. So far a couple of queries don't seem to bring much performance or space issues.
On using bing: bing is basically the only realiable API option I could find that was hobby cost worthy. Most microsoft products are usually my last choice.
Bing is giving me a 7 day free trial of their search API until I register a CC. They offer a free tier, but I'm not sure if that's only for these 7 days. Otherwise, I'm gonna need to pay like 5$.
Paying or not, having to use a CC to use this software I wrote sucks balls.
So far the usage of this app has resulted in me becoming more critical of sites and finding sites of better quality. I think overall it helps me to become a better programmer, all the while having better protection of my privacy.
One not upside is that I'm the only one curating myself, whereas I could benefit from other people that I trust own block/promote lists.
I will git push it somewhere at some point, but it does require some more work:
I would want to add a docker-compose script to make it easy to start, and I didn't write any tests unfortunately (I did use eslint for both apps, though).
The performance is not excellent (the app has not experienced blocks so far, but it does make the coolers spin after a bit) because the algorithms I wrote were very POC.
But it took me some time to write it, and I need to catch some breath.
There are other more open efforts that seem to be more ethical, but they are usually hard to use or just incomplete.
commoncrawl.org is a free index of the web. one problem I found is that it doesn't seem to index everything (for example, it doesn't seem to index the blog of a friend I know that has been writing for years and is indexed by google).
it also requires knowledge on reading warc files, which will surely require some time investment to learn.
it also seems kinda slow for responses,
it is also generated only once a month, and I would still have little idea on how to implement a pagerank algorithm, let alone code it.4 -
Ok, so I basically spent my weekend trying to work out why the fuck my python docker container would not connect to my mariadb docker container. Tried fucking everything, bridged network, host network, links (even though theyre deprecated), you name it. It would NOT WORK!
In my despair I finally turned to StackOverflow. There I was told 5min after posting the question that the reason was probably that mysql is a quite heavy service, which takes a bit to start up.
I thought to myself "Oh, get the fuck outta here, that can't be it, shit's way too easy to work!"
I tried it nevertheless by adding a 10sec delay before querying the database AND THE MOTHERFUCKING PIECE OF SHIT ACTUALLY WORKS!! So, I essentially just lost a weekend because I was too impatient... I think I'm gonna punch some trees now.4 -
episode 2 in the series "hip developers", right after the full sold out "taylor 'cunt' otwell" - this time featuring docker developers that have not reached puberty yet!
https://github.com/docker/compose/...5 -
Are there more people here who use Makefiles as a façade for complicated commands? For example, 'make dev.up' executes a long docker-compose command and 'make dev.expose.secrets' activates ansible-vault with some variables. It makes doing stuff easier and makes it so that developers with less shell experience can quickly get going instead of having to use long boring commands.
Each time I try to look up what the actual purpose of a makefile is I get a long list of explanatioms talking about building C programs etc. But it never talks about using it to just put shell commands in one big file with subtargets 🤔
So, my question, any of you guys use a makefile to facilitate a facade too?3 -
My kind of Makefile:
make it.run: docker-compose up
make it.stop: docker-compose down
make it.clear: docker logs cont_1
make it.test: npm run test
make it.deploy: ansible-playbook site.yml -
I was cleaning up dangling images in docker, and I accidentally removed the production database container as well.
Its not a big issue, I can just up the container back and everything should be fine. But after I up the container and connected to the database, I found out there's no data inside. I thought I fucked up, and sent msg in slack channel that I nuked the db.
Later my friend asked me which compose file I am using and that's when I realized I used the wrong config to up the db. Used the correct config to up the database again and everything goes back to normal.
It's friday evening and if I really dropped the db it would be fucking bad weekend....3 -
Anyone who says 'Docker is easy" should burn in hell.
Sure, It took me 5 minutes to run my project in docker container
Took another 25 to run multipl;e comntainers via compose
Now, 3 hours later, can't run compose from multiple Visual Studio solutions. Says "Pull failed"
No doc. No examples. No nothing.
I'll try for another hour or so, if not, fuck that docker shit. I'll go to Service fabric.13 -
I've just wasted 2 hours trying to figure out why docker-compose was bugging out on some stupid error.
Turns out that the Ubuntu package was stuck on 1.5.2.
The current release is 1.24.1.
The package has not been updated since December 2015.
I need to stab a motherfucker1 -
Spending hours trying to figure out why the stack just won't work with SSL. Nearly lost my mind as we started feeling dumber than ever. I really started to doubt my skills after it did not even work with the most minimal nginx site config I could imagine.
The next day I discovered that we missed the 443 port mapping in the docker-compose file...it only had port 80 mapped.
Yup, stepping back from a problem and getting some sleep is really worth it sometimes. -
At work everybody uses Windows 10. We recently switched from Vagrant to Docker. It's bad enough I have to use Windows, it's even worse to use Docker for Windows. If God forbid, you're ever in this situation and have to choose, pick Vagrant. It's way better than whatever Docker is doing... So upon installing version 2.2.0.0 of Docker for Windows I found myself in the situation where my volumes would randomly unmount themselves and I was going crazy as to why my assets were not loading. I tried 'docker-compose restart' or 'down' and 'up -d', I went into Portainer to check and manually start containers and at some point it works again but it doesn't last long before it breaks. I checked my yml config and asked my colleagues to take a look. They also experience different problems but not like mine. There is nothing wrong with the configuration. I went to check their github page and I saw there were a lot of issues opened on the same subject, I also opened one. Its over a week and I found no solution to this problem. I tried installing an older version but it still didn't work. Also I think it might've bricked my computer as today when I turned on my PC I got greeted by a BSOD right at system start up... I tried startup repair, boot into safe mode, system restore, reset PC, nothing works anymore it just doesn't boots into windows... I had to use a live USB with Linux Mint to grab my work files. I was thinking that my SSD might have reached its EoL as it is kinda old but I didn't find any corrupt files, everything is still there. I can't help but point my finger at Docker since I did nothing with this machine except tinkering with Docker and trying to make it work as it should... When we used Vagrant it also had its problems but none were of this magnitude... And I can't really go back to Vagrant unless my team also does so...10
-
I’ve got to say, I used to blow off Docker as some trendy, hipster technology that people only use for the cool factor but ever since I tried it out, I’ve used it for about 80% of my personal projects...5
-
Warning long rambling story cause sleep deprivation
I never really bothered with ssh outside of using putty to remote into my servers and rpi's from my desktop to run updates, install something, or whatever else.
But today I was on a call with my cousin bored cause she was just rambling, so I opened vscode to clean my install of unnecessary extensions I installed and haven't used more than once or twice.
I saw Remote - SSH and as I was bored listening to a teenager complain about high school just like I used to (lol) and responding when she asked me something. I scrolled through the page, then the documentation just casually skimming the text
I setup an ssh key on an rpi I threw manjaro arm following the instructions on their tips and tricks page
I then moved the key to my desktop using winscp (cause lazy)
leading to having a minor hicup of rsa not being an accepted keytype (thanks 'your favorite search engine' for the help)
Finally, I was able to connect using the private key
at this point my cousin went to bed cause she has school tomorrow. But I was still doing stuff with ssh, I created a new ssh connection in VSCode, but had to go to the documentation to figure out how to make it use my fancy new key file, not hard took 30 seconds of looking to get it working.
Now that I was in, I moved to my development folder, created a folder for PiHole, created a compose yml, created a pihole-data folder.
I opened the yml and pasted in a compose from dockerhub.
at this point I thought 'i can't just run this from terminal can I'. and Obviously it worked cause there's literally no reason it wouldn't I'm just stupid to think it might not.
So I created folders and files on a remote system, launched a docker container, checked for package updates after on a linux machine. All from VS-Code on a windows machine.
I know this is simple for some people, i know some people are like 'where's the interesting part'. but ehhh I thought it was cool to get it setup, I now really regret not getting into ssh sooner, and I'm definitely going to uninstall vscode on all my smaller graphical VM's in favor of doing this. and this will definitely help with my headless vm's.
I also will have to thank my cousin, might not have done this if I wasn't stuck at my computer on messenger call with her lol
I'm gonna go to bed now, But I feel accomplished for the first time in a while even if it's for something so simple as setting up anssh key for the first time3 -
This story is related to Docker containers.
Three years back when I heard about docker my first impression of docker was mini Virtual Machine. Then when you start your first container it’s no way to get out apart from pressing ctrl+d or leaving it like a screen. One of the most embarrassing thing with it was I tried really really hard to setup SSH on one of the container to log in there somehow. Then I understood how to use Dockerfiles and the command called `docker exec`
I thought Dockerfiles are the most amazing thing I have ever used for docker. But then I got introduced to docker-compose, and now it’s same with kubernetes
Now a days I read most of the document before doing hands-on on any new technology. -
Forget about everything I could say these last 2 days: I'm having as much fun with Docker than when I first discovered Ruby on Rails 3 years ago 😍
I still don't understand everything with docker-compose & shit but so much things are way more clear when you try them out!1 -
I would like to call out the moron who decided to control docker through HTTP when the maximum time the server can take to finish the task is longer than the HTTP timeout.
If you expect things might time out, you don't use a HTTP request. You use a resource and poll it, or Websockets, or possibly SSE.
Shoehorning your API into a frame that obviously doesn't fit doesn't help anyone. Just admit that you don't know what HTTP is and use a regular TCP socket with regular pings.2 -
So I made an update to my React Native app. I changed UI of a couple of screen, added a few animations here and there, refactored how my graphQL resolvers work in the backend(no breaking changes), changed how data gets loaded into the database etc.
It worked in dev so I figured hey let's deploy it. Today is(was because it's now 3am but more on that later) a national holiday so no one goes to work so no one will use my app so I have an entire day to deploy.
I started at 15:00(because i woke up at 13:00 lol). I tested the update once again in dev and proceeded to deploy it to prod. I merged backend to master, built docker images, did migrations on the db, restarted docker-compose with new images. And now for the app. I run ./gradlew assembleRelease and it starts complaining that react-native-gesture-handler is not installed. Ugh, rm -rf node_modules && yarn install. It worked. But now gradlew crashes and logs don't tell me anything. Google tells me to change a bunch of gradle settings but none of them work. Fast forward 5h, it's around 20:00 and I isolated the issue to, again, react-native-gesture-handler. They updated from 2.2.4 to 2.3.0 which didn't fucking compile. 2 more hours passed (now 22:00) and I got v2.3.1 working which fixed the problem in 2.3.0 but made my app crash on startup. YOUR FUCKING LIBRARY GETS 250K WEEKLY DOWNLOADS AND YOU DONT EVEN BOTHER CHECKING IF IT COMPILES IN PROD ON ANDROID?! WHAT THE FUCK software-mansion?
After I solved that, my app didn't crash. Now it threw an error "Type errors: Network Request Failed" every time I fetch my legacy REST API(older parts use rest and newer use graphql. I'll refactor that in the next update). I'll spare you the debugging hell i went through but another 5h passed. Its 3am. My config had misspelled url to prod but good for dev... I hate myself and even more so react-native-gesture-handler.3 -
My journey into learning Docker, chapter {chapter++}:
Today I learned that when you use a database image in your docker-compose file, and you want to rebuild the whole thing for reasons (say, a big update), then if you change your credentials ("root" to "a_lambda_user" or change the db's password) for more security, and you rebuild and up the whole thing... It won't work. You'll get "access denied".
Because the database (at least mysql and mariadb) will persist somewhere, so you need to run "docker rm -v" even though you didn't use any volumes.
I love loosing my fucking time.4 -
Reading documentation carefully is cool.
If i did that yesterday i would know that react sees env vars started with REACT_APP_
Instead that i was trying to figure out for 3 hours what is wrong with my docker compose file.
Read documentation1 -
Mixing PHP and HTML code with a bunch of if-elses, creating a docker-compose script thats uses the remote database password (and its committed) and set API calls to IP fucking addresses with no explanation. Just make POST requests to undocumented APIs.
How the fuck are these people allowed to code?????3 -
Everyone rides on k8s today....
But in the end it's just like Docker Swarm and Compose combined.
I don't know if Google is playing Elon Musk anymore.2 -
Guess who just spent the entire day before launch debugging why compose doesn't work on an ec2 instance where I DIDN"T INSTALL FUCKING DOCKER
I guess this is the key difference between me and seniors. Seniors know where to look where shit breaks because they have been breaking it for at least 5 years.7 -
I like fridays because I convince myself that this is the weekend I will do some hardcore programming. Instead it is usually the weekend I spend more time finding a new series to watch than actually coding.
Should probably docker-compose down and stop kidding myself since constantly thinking you will do some work next takes away from actually relaxing and you end up worse off.6 -
Starting my work day:
* fire up the build script wrapper script wrapping the Docker compose scripts, which starts I dunno 20 different microservices, frontend build processes, watchers, blah, blah, blah, chews my laptop's battery like a muthafukka, wait for 15 minutes, for maybe a 40% chance that maybe it'll work, or maybe I'll have to fix some random thing that's wrong out of the 20 million things that could possibly go wrong and then restart... and if I'm lucky at the end of all this, I get to work on, I dunno, adding some field to a modal?
Firing up my weekend side project:
* php -S and immediately start working productively every time
Fuck the "modern web"4 -
Question about permission in `docker-compose`
So far, I've usually used vagrant for local dev. It was nice, as I was able to specify `wack:wack` as owner of all files. However with docker compose, if I connect with exec and use `/bin/bash` I'm logged in as `root`. When I then run composer, it kind of fucks with the file permissions, as after it all new files are owned by root and thus can't be edited with an ide on the "host" system.
One hack that I found suggested creating an user and a group with same uid as on the host and use that instead of root. This just doesn't sound right to me. Any advice on how to handle this situation?5 -
Containers, specifically Docker and Compose. It's a beautiful model and it solves a ton of real problems, but the list of unforeseen footguns never ends.1
-
Why is Docker + SSL certificates so confusing? Or do I just have bad resources?
I just want to know how to compose an Docker, Nginx setup with encryption.11 -
Hell of a Docker
One application in c++. 4 in c# targeting Linux. Several logging places, Several configuration files , dozens of different folders to access (read/write). Many applications being called from just one that orchestrates everything.
OS is Linux. Installation is to be made inside a docker image and later placed in a container by means of several bash files and python scripts. All these are part of a legacy set of applications.
They’ve asked me to just comment out one line which took 3 days to find out because they didn’t remember where it was and in which application it was and what was in that line.
After changing it, I was asked to create a test environment which must have resemblance to the current server in production. 12 days later And many errors, headaches, problems with docker, I got it done.
Test starts and then, problems with docker volumes, network, images, docker-composer, config files and applications, started to appear.
1 month later, I still have problems and can’t run all applications at least once completely using the whole set.
Just one simple task of deploying locally some applications, which would take one or two days, is becoming a nightmare.
Conclusion: While still trying to figure out why an infinite loop was caused by some DB connection attempt in an application, I am collecting a great amount of hate for docker. It might be good for something, that’s for sure, but in my experience so far, it is far worse than any expectations I had before using it.
Lesson learned: Must run away from tasks involving that shit!5 -
Been trying to learn Docker when I hit a brick wall. How do I use nginx reverse proxy + letsencrypt with multiple containers? I only managed to do it with a single container. Using docker-compose or stuff like that I guess?6
-
Last weekend I was working on a small project for a friend of mine: a dockerized webapp, plus API backend and DB. I had some problems with the installation on the vps and had to try out different images and never really did a complete setup of my usual dotfiles. Got it running on an Ubuntu distro. Everything great.
It was the first release so I still had to check that every configuration worked ok, like letsencrypt companion container, the reverse proxy and all that stuff, so I decided to clone the whole project on the server tho make the changes there and then commit them from there.
Docker compose, 10 lines of code, change the hosts and password. Boom everything working. Great... Except for the images in the webapp.
WTF? Check the repo, here they are, all ok. I try different build tactics. Nothing. Even building the app on another docker always the same. Checked browser cache, all the correct ports are open. I even though that maybe react was still using some weird websocket I didn't know, but no.
Damn, I spent 5 hours checking why the f*** the server wouldn't make it out.
Then, finally, the realization...
I didn't install the f******* git-lfs plugin and all I was working with were stupid symbolics links! Webpack never even throw an error for any of the stupid images and the browser would only show a corrupted image, when decoding the base64 string.
Literally the solution took 5 minutes.
F*** changes on production, now I do everything on a fully automated CI. -
I have been experimenting with Docker and reading articles on it. I was wondering what are best practices for building Docker images. Many articles have recommended that use Alpine base images because they're small and more secure.
Let us say that my application needed Postgre. What is the best approach?
1. Use the Alpine Dockerfile provided [here](https://github.com/docker-library/...) at Github. Download the file and go to where its located in my terminal and enter *"docker build"*
2. Creating a Dockerfile from scratch and using the command *"FROM postgre:10-alpine"*
3. Use the Alpine template file provided [here](https://github.com/docker-library/...)2 -
Some time ago I was looking for materials regarding Ansible automation tool and realized that most of them suggests setting up the lab environment using virtualization (like VirtualBox). In my opinion that is not the best approach – virtual machines consume lots of resources and take some time to start/kill. So I decided to write a guide for setting up Ansible lab environment using Docker containers. Containers require significantly less resources than vm’s and can be bring up and down really quickly. Additional advantage is easy way of automating whole environment using docker-compose. You can find my guide at github: https://github.com/LMtx/... Any feedback is very welcome :)3
-
I'm following this fucking tutorial (https://blog.ssdnodes.com/blog/...) and everything goes well, I have docker running, docker compose installed properly, but when I start trying to create the docker-compose.yml and accessing the stupid site using the virtual host domain i set I can't it keep getting "503 Service Temporarily Unavailable" or "502 Bad gateway" what the hell am i doing wrong, I just want to get this working in my VM so i can move it to my damn server and have my own fucking cloud. This damn bullshit is exactly why i went into programming rather than dealing with configuring servers and bullshit like this i know it's outside my level of understanding but I really fucking want my own cloud system but I want it containerized for both isolation and learning purposes.
I have no idea what the hell i'm doing wrong and all the damn articles and links i'm reading aren't helping at all with my level of stupid not allowing me to understand what i'm doing wrong1 -
Do any of you have any good resources at hand on good ways of managing Docker deploys? I don't want to use something as overkill as Kubernetes. In the end I want to be able to spin up the application on a $5 DigitalOcean droplet if need be.
I need to figure out a good way of managing, deploying and rolling back a live application. Perhaps just using docker-compose is the way to go. Though I want your ideas.
Thanks8 -
Sometimes I forget how good I am at my job, then I'm listening to someone explain how to set stuff up and they're like "do this and this and that and install these build tools" and I'm looking at them confused coz I've already got a docker compose stack that includes everything they're talking about, and then I realise that difference is called "experience"5
-
Docker compose switches users but doesn't update the home directory. Both switching users and not touching envvars are very sensible default behavior, but the result is that the running service has no write access to $HOME - and many programs don't provide sensible error messages for this rather unlikely scenario.2
-
If i use kubernetes that means i don't have to use docker and docker compose. Right? Kubernetes is like docker but on steroids?13
-
Im implementing kafka with little to no theory understanding. Now that i have finally managed to implement it Perfrctly, even started kafka, zookeeper and kafka-ui through docker compose and it works perfectly in the backend app, i can finally now see the power this technology withholds, and now i have even more understanding of how it (approximately) works, and Now I'm more willing to learn the theory to understand it under the hood.
Does someone else find it much easier to fuck around and find out when learning something new before being overbloated with boring dry theory?
I fucking hate theory. Any kind of theory. Its boring as shit. But now that i have gone through practical implementation of this and can understand how powerful backend i can build with it, Now I'd have no problems learning theory9 -
Using grafana together with tinc+promotheus, has been a blast.
Initially I wanted to get into ELK with Kibana and all that, but that required 8G of ram, the instructions to get it running in the open source "mode" was nearly non-existent, together with all the ready docker compose stacks out there simply not working or the images being broken.
I'm sure I could've managed around most of those issues, but the fact it is as hungry as gitlab, made it a literal no-go for the usual server resources my clients host or my own scaled down server recently.
Thankfully I remembered that there's grafana and me having experimented some time ago with tinc, so I can have very lightweight beat'esque prometheus agents deployed listening on tinc local net only, with the typical nginx auth and some whitelists to all of the servers I host and all those of my clients.
The dashboard creation was especially great in grafana (tbf promotheus does actually most of it), literally what I always wanted out of those "complicated" solutions, that do it all, but have no proper query language, complex documentation, heavy collectors with no properly named data points, expensive resource runtimes, ..
with grafana I can just easily put dashboards into folders, create users to look only at certain stats or even dashboards (opened up some interesting contracts actually, because now I can also offer proper monitoring for all things delivered), easily drag and drop around stuff to fit more information (most others fix you to a small 3x2 grid, a too big grid for a TV or simply non resizable tiles, making that one counter take up an entire row) and resize to my hearts desire
tinc of course allows me to easily create private networks that are resistant to failure across any region and the routing is done for me, so I don't have to run around it all that much either
P.S: a damn tiny fly went into one of my now 4 monitors and died right in the middle, because I thought it's just some dirt and I pressed it in while trying to wipe it off, so that monitor now serves as the top most on a vesa mount5 -
When your docker project finally runs on Linux containers after two days of debugging because Visual Studio added a \ instead of a / to docker-compose 🙄😅
-
PLEASE
Im trying to start keycloak via docker compose
It works when i start the container via docker
But fucking fails when docker compose SAME.EXACT COMMAND
Keeps crashing with logs
2023-10-13 11:34:40 User with username 'admin' already added to '/opt/jboss/keycloak/standalone/configuration/keycloak-add-user.json'
WHY12 -
Folks are bragging about having 99 microservices. I don't know for what joy folks create that much microservices. They may have their own reason. I'm trying to understand what is the workflow for small companies with few microservices. Could anyone shed some light? I'm thinking of building orchestrator where I don't have fancy features like k8s and get the basic job done. Focused more on simplicity and UX.4
-
While planning my (personal) server I just seem to pile up more and more things to do/consider. Basically, for now I just want to have rclone, nextcloud and jellyfin, plus some usenet stuff later on. But I want to have the whole installation and configuration automated as far as possible, since I'll at first it will run in a test environment and needs to be migrated to another server at a point, possibly even another OS. So I suppose that means docker, docker-compose and Chef (any better options?). I want SSL: Traefik. User management / auth? RADIUS, LDAP. SSO? keycloak. I also need to deal with virtual hosts. And probably much more..
Since I just have basic Linux knowledge and have no real experience with any of the other technologies, I feel a bit lost. I just got to the abovementioned software due to some ddg research. I don't mind digging deep, I want to learn (which is half the reason for this project), but it's not easy to the the best way to set this up.11 -
So I am running Spark on Docker. I have hardcoded the docker-compose file to 1 master and 3 workers which works fine. What would be a good way to dynamically scale the number of workers up and down through the command line ? I guess we have to use --scale or replica, but how ?
-
i5 vs. i7?
My old laptop is dying and I've started to look for a replacement. I am used to have an i7 processor, my dev env consists of either vagrant and a VM or a docker-compose env. Plus I use JetBrains IDE. Mostly I do webdev, so not that much compiling going on, however often I need a VM with Windows to have Photoshop or Illustrator running...
So I guess the question is: Is there a notable difference between an i5 and an i7 for development?4 -
I decided to use Docker Compose on a tiny project that essentially consists of an API and a Caddy server that serves static files and proxies to the API, all of this running on an EC2 t1-nano. I made this admittedly odd choice because I wanted to learn Compose and simultaneously forego figuring out why the node-gyp bindings for sqlite3 refuse to build on EC2 even though it builds just fine on my machine.
I am storing secrets in .env which is committed into the private GH repo. Just now I came across a rant that described the same security practice and it sounded pretty bad from an outside perspective so I decided to research alternatives.
Apparently professional methods for storing secrets generally have higher system requirements than a t1-nano. I'm not looking for a complex service orchestration system, I'm not trying to run an enterprise on this poor little cloud-based raspberry pi. I just want to move my secrets out of the Git repo,
Any tips?9 -
The project structure is simple. To work with it you need to first build this undocumented ruby-based, severely outdated backed that requires an env file that nobody really knows where it is. Don't worry, setting it up should take no more than half a day. Then just run `docker-compose up`, after that `rails s`. Now in another repo you need to run a python server and a node sass. You need to figure out the name of the compiled file though. Perfect structure!2
-
Fucking AWS Elastic Beanstalk took a week of work to get fucking mounts set up. They invented their own version of docker compose that is missing half the features so I had to work my way from hacking their scripts to include options they don't support, to restarting the whole fucking docker service on every fucking deployment and now the shit finally works. How can most StackOverflow answers just say restart docker, this shit is not ok! I fucking hate sysadmin work. I want to code :(
-
"docker-compose is already the newest version (1.25.0-1)" after apt-get upgrade docker-compose. Actually there is 1.29.1 which includes the bugfixes I wanted, but apt seems to prefer the buggy version for stable LTS Ubuntu at least. Wasted 3 hours with seemingly broken repositories until I found out.1
-
Any one running Symfony on a Docker container in production? I currently try to migrate our dev env to a docker compose setup (from a "monolith" vagrant vm). I'm atually not stuck at a Symfony specific thing, but on a, I guess Docker specific one(?), The issue is, I need to read and write with two users to one folder (in my case the /application/var/cache folder). Since I mount my whole code into the docker container (to use an IDE on the local files), I've got a volume (not mounted to the outside world) for that folder. (As far, as good). Now this folder is owned by root and root is also the user I get when I enter the container. When I then run a cli script, that writes to this folder, every thing works (as it's run by root) and the resulting entries in the cache dir are owned by root. Trouble starts when the php fpm process tries to write stuff in there too (as it's run by www-data).
If I add `USER www-data` (or create a new user foobar and add `USER foobar`) the container exits with status 0
So I guess the question is, is anyone running an Symfony app on Docker in Prod, if so how do you solve this? Or another question would be what is the best practice to do this? Sure on dev I could just `chmod 777` the whole folder or run the php-fpm process as root, but if that thing ever goes to prod, I wouldn't sleep very well... -
After exchanging punches with laradock and docker yesterday, I was able to to find a middle ground, it promised to work and I said I would not annihilate it from my machine.
Pretty handy once it works, got now quite some docker-compose commands beaten into me, because of how many times I've up'd and down'd after re-building with different configs. -
I just did *skadoosh* while executing command to run multiple docker containers with docker-compose and pressing the Enter (Return) key with my pinky finger.
Feels like real-life Kung Fu Panda trying to do a Wuxi Finger Hold.
I bet you will never forget this when you're running a command on laptop and pressing enter with pinky finger.3 -
Jesus Christ, Docker Desktop for Mac is fucking garbage.
Did you start your containers with an alternate compose file? Well, fuck you, we are goddamn idiots who don't know what the fuck we are doing and our piece of shit GUI just doesn't know how the fuck to deal with that.1 -
Docker newbie question
Does anyone have any insight on how to rclone mount a drive , and map a volume to it for persistent storage?5 -
stupid docker creators. Why the fuck when something does not work it does no show errors. I had so much anger till idea came to head to ask on google does docker has logs and found it has - docker logs command. And I saw fucking errors and then I knew by them what to fix. Idiots, hide errors when runing docker-compose up, what are they smoking when creating docker.
And even after docker-compose up it showed done !! Done sounds as everthing went without fucking errrors!!!! But when running docker ps there was no such container! Because when running it - it was giving errors.13 -
Somehow mocking xhr requests (?) for Axios is really hard to make it work. I use React Cosmos as I'm re-doing the frontend of this already running in production and works great, but when my component communicates with the backend it breaks and I'm unable to test the full behavior.
Then, it occurred to me that trying to mock Axios may not be the best. So I came with this scheme where I would have a configuration variable with a default value and change that when I need to work with React Cosmos, which in turn changes the behavior of `/auth` to return a valid JWT in response to a GET, put an Axios interceptor in my outermost Cosmos decorator and BAM! suddenly was able to develop and test my React components closer to how they would work in production.
It surprises me how simple this endeavor was, and because everything runs orchestrated by docker compose things run smoother.
(this is not an excuse to not to learn how to deal with the mocking issues of Axios, after all I wont have a working backend every time I work in some frontend application)5 -
Make an ASP .NET application for job interview take home assignment.
Try to use docker with it.
Runs fine through Visual studio (not code)
I declare is working and submit to organization but say it can run through docker-compose up.
I get reply that even the basic command doesn't work.
Turns out visual studio does some magic mapping or caching under the hood that I couldn't find in any config in the project and somehow gets it to work, but when running without Visual studio it doesn't have that magic context shit and thus running through terminal fails.
Obviously a lot is my fault for assuming what works through IDE would run through terminal without testing, but I will be angry with VS to make myself feel better >.>2 -
Why the fzck do you release new features in your engine and change how port-mapping works but don't make your deployment tool compatible? I look at you docker!
-
So I ran a yarn build for a vuejs project in a php7.4 docker container on a raspberry pi 3.
Wasn't as fun as I thought it to be.6 -
Can you start services manually when using docker compose?
As in having container A, B and C with an executable A, B and C (originating from the same source btw) where I can start/stop A, B, C independently?
All examples seem to use it as a whole thing where all containers must be up for the service to work.2 -
I already searched for a while and couldn't find a viable solution.
I setup a service with docker-compose, and published it on port 80.
However port 80 is only published on ipv4 networks, not ipv6.
How can I make docker publish the service on ipv6 networks as well.1 -
Has anyone here used app academy open. Is it good and does it teach useful and up to date stuff? I was thinking of doing it but there are barely any reviews online. There is a reddit thread about why it is handicapped but it is old and a user clarified it was misinformation. https://reddit.com/r/...
Their curriculum seems to be pretty good except that I will need to learn ruby on rails which I need to forget after the MERN stack part and that they teach docker compose instead of kubernetes -
been working on this docker thing for 2 weeks. 3 containers each running a different aervice (mariadb, nginx, wordpress) using debian as the base image (not the app image itself). Got all the configs down, all the dockerfiles down, the docker-compose yml down. Run docker-compose up, everything goes up all nice without errors.
Try to access the wordpress website. Only reachable from localhost, no atyling is served, all redirections fail… because it can’t find the local domain it is supposed to bind to. Tried editing the hosts file, didn’t worked. 3 days of googling, havent been able to find a fix. I don’t know what am I supposed to hate anymore. Is it nginx ? is it wordpress ? is it just the host machine’s dns/hosts config ? is it docker ? myself ?
I swear theres nobody in this world who wakes up one morning and happily cracks their knuckles to go write some dockerfiles.1