| Next revision | Previous revision | 
| docker_cheat_sheet [2021/11/03 03:07]  – created stephen | docker_cheat_sheet [2021/11/04 23:01] (current)  – external edit 127.0.0.1 | 
|---|
| ===== Getting Started ===== | ===== Getting Started ===== | 
|  |  | 
| ==== Clone ==== | | ''<nowiki>docker run --name repo alpine/git ` | 
|  | clone https://github.com/docker/getting-started.git</nowiki>'' | Clone | | 
| | ''<nowiki>docker run --name repo alpine/git clone https://github.com/docker/getting-started.git</nowiki>'' | | | | ''<nowiki>docker cp repo:/git/getting-started/ .</nowiki>'' | Clone | | 
| | ''<nowiki>docker cp repo:/git/getting-started/ .</nowiki>'' | | |  | 
|  |  | 
| ==== Build ==== |  | 
|  |  | 
| A Docker image is a private file system just for your container. It provides all the files and code your container needs. |  | 
| | ''<nowiki>cd getting-started</nowiki>'' | | | | ''<nowiki>cd getting-started</nowiki>'' | | | 
| | ''<nowiki>docker build -t docker101tutorial .</nowiki>'' | | | | ''<nowiki>docker build -t docker101tutorial .</nowiki>'' | Build | | 
|  | | ''<nowiki>docker run -d -p 80:80 --name docker-tutorial docker101tutorial</nowiki>'' | Run\\ ''-d'' - run the container in detached mode (in the background)\\ ''-p 80:80'' - map port 80 of the host to port 80 in the container\\ ''docker/getting-started'' - the image to use | | 
| ==== Run your first container ==== | | ''<nowiki>docker ps</nowiki>'' | List running Docker processes. | | 
|  | | ''<nowiki>docker stop 6307dc32ab8e</nowiki>'' | Stop a Docker process. | | 
| Start a container based on the image you built in the previous step. Running a container launches your application with private resources, securely isolated from the rest of your machine. | | ''<nowiki>docker rm 6307dc32ab8e</nowiki>'' | Delete a Docker process. | | 
|  | | ''<nowiki>docker rm -f 6307dc32ab8e</nowiki>'' | Stop //and// delete a Docker process.\\ ''-f'' - force | | 
| | ''<nowiki>docker run -d -p 80:80 --name docker-tutorial docker101tutorial</nowiki>'' | ''-d'' - run the container in detached mode (in the background)\\ ''-p 80:80'' - map port 80 of the host to port 80 in the container\\ ''docker/getting-started'' - the image to use | | | ''<nowiki>docker exec aab6865570a6 cat /data.txt</nowiki>'' | Run the ''cat/data.txt'' command inside a running Docker process. | | 
|  | | ''<nowiki>docker volume create todo-db</nowiki>'' | Create a volume called ''todo-db''. | | 
|  | | ''<nowiki>docker network create todo-app</nowiki>'' | Create a network called ''todo-app''. | | 
|  | | <code>docker run -d ` | 
|  | --network todo-app --network-alias mysql ` | 
|  | -v todo-mysql-data:/var/lib/mysql ` | 
|  | -e MYSQL_ROOT_PASSWORD=secret ` | 
|  | -e MYSQL_DATABASE=todos ` | 
|  | mysql:5.7</code> | Start a MySQL container and attach it to the network. Set a couple of variables. | | 
|  | | ''<nowiki>docker exec -it <mysql-container-id> mysql -p</nowiki>'' | Connect to the MySQL database. | | 
|  | | ''<nowiki>docker run -it --network todo-app nicolaka/netshoot</nowiki>'' | Start a new container using the [[https://github.com/nicolaka/netshoot|nicolaka/netshoot]] image. | | 
|  | | ''<nowiki>dig mysql</nowiki>'' | (From inside nicolaka/netshoot) network lookup for the ''mysql'' network. | | 
|  | | ''<nowiki>docker-compose up -d</nowiki>'' | Use Docker Compose to run the application stack defined in the ''docker-compose.yml'' file.\\ ''-d'' - run the container in detached mode (in the background) | | 
|  | | ''<nowiki>docker-compose logs -f</nowiki>'' | See the logs from each of the services interleaved into a single stream. | | 
|  | | ''<nowiki>docker-compose logs -f <service name></nowiki>'' | See the logs for a specific service. | | 
|  | | ''<nowiki>docker-compose down</nowiki>'' | Tear down the application. | | 
|  | | ''<nowiki>docker-compose down --volumes</nowiki>'' | Tear down the application //and// the named volumes. | | 
|  | | ''<nowiki>docker scan <image name></nowiki>'' | Scan an image for vulnerabilities. | | 
|  | | ''<nowiki>docker image history <image name></nowiki>'' | Image history and layers. | | 
|  |  | 
|  | /* | 
|  | | ''<nowiki>xxxx</nowiki>'' | xxx. | | 
|  | | <code>xxxx</code> | Multiline. | | 
|  | */ |