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. | |
| */ |