Docker Cheatsheet

Docker helps a lot in the dev process.

If using windows or mac, need to use a vagrant vm that allows nfs.

this will help u setup the vagrant. Once vagrant is up, shell in and run docker commands.

Remember to port follow all the relevant application port in virtualbox.

Here are some commonly used commands:

1. To build a new image from a Dockerfile

cd folder_containing_dockerfile
docker build -t username/app_name .

# if behind proxy
docker build -t username/app_name --build-arg http_proxy=x.x.x.x:port --build-arg https_proxy=x.x.x.x:port

2. View all docker images

docker images

2. View all containers

docker ps -a

3. Create a new container

cd website
docker run -d -p 8080:80 -p 8036:3306 -v `pwd`:/var/www/dir image_name
# if you use the --name option, you can specify the exact name of the container, else it will use some random cool name

4. Stop and start a container

docker stop containerid_or_name
docker start containerid_or_name

5. Remove an image

docker rmi image_name

6. Remove a container

docker rm containerid_or_name

7. Shell into a container

docker exec -it containerid_or_name /bin/bash

8. Use docker-compose now to manage docker installations


9. In your dockerfile, When you pull from docker library, you are running its dockerfile first before running yours

eg FROM php:5.6-apache

Good resource:

kickstart docker lamp setup


Continue reading

git push origin feature refspec error

If you try to git push -u origin feature/branch_name and you get this error “error: src refspec feature/branch_name does not match any”, it means that your local branch are not named correctly. It should be named feature/branch_name as well, not just branch_name. Do a “git branch” to confirm yourself.

Good online drawing tool

I think is pretty cool. what a gem. check it out.

FTP in yosemite

we can use the in build ftp daemon To load: To unload:

Vagrant Authentication fails

Sometimes things go wrong during vagrant setup especially if have set it up already. You might get errors like “Authentication Failure” during “vagrant up” command. It is troublesome to get into the VM if there is no ssh key. Type in vagrant ssh-config To see whats happening. make sure u have ssh keys already. then … Continue reading

Tips for working with dates in PHP

Converting from different date format can be challenging. All the php and mysql date functions can be confusing. Just store the date as yearmmdd format, eg 20160220 means year 2016, 02 month and 20 day. This format works well with strtotime function. As per unix timestamp, you can also use basic arithmetic to compare the … Continue reading

Asynchronous vs synchronous in javascript

you often see the terms asynchronous and synchronous in javascript. there is significant difference between the 2 and it affects the way you code. When executing something synchronously, you wait for it to finish before moving on. When executinge something asynchronously, you move on to the next task before it finishes. google map geocoding is … Continue reading

Delaying until condition is fulfilled

In javascript, we can use setTimeout to do call itself recursively until a condition is met. Here, we want to check the html content with an interval of 300ms until it is populated, then we will do something.

doctrine owning side and inverse side

owning and inverse side can be confusing. Then there is uni and bi directional relationships. For example: These are some key rules: * The owning side has to use the inversedBy attribute of the OneToOne, ManyToOne, or ManyToMany mapping declaration. The inversedBy attribute contains the name of the association-field on the inverse-side. * The inverse … Continue reading