install
https://docs.docker.com/engine/install/ Just install ce (community version)
Start command
Start docker
systemctl start docker
Close docker
systemctl stop docker
Restart docker
systemctl restart docker
docker settings start automatically when the service starts
systemctl enable docker
View Status
View docker Running Status
systemctl status docker
View Version
docker version
View Details
docker info
Mirror related
Check the installed images of the local environment
#-a means display all, - q means display ID only docker images -a
Querying the Dockcer Warehouse (docker hub) Image
Official warehouse of dokcer: https://hub.docker.com/search?q=&type=image
docker search mysql
Upload the image to the docker hub
#Upload image: docker push hello:V1
Pull warehouse image to local
Pull the latest version in the docker warehouse without tag (version number)
#The latest version of the image plus: tag pulls the specified version docker pull hello-world
delete mirror
#Delete a single mirror docker rmi hello-world(Image name/image ID)
#Force (- f) to delete multiple image ID s or separate images with spaces docker rmi -f Image name/image ID Image name/image ID Image name/image ID
#Delete all images - a means display all, - q means display only ID s docker rmi -f $(docker images -aq)
Save the image as a local file
#docker save -o Image save location and name Image name/image ID corresponds to docker load docker save -o hello.tar hello-world
Load local files and restore them to images
#docker load -i The local file corresponds to the docker save docker load -i hello.tar
Container related
The so-called container is the running version of the image, which is an isolated running system
Run Container
#docker run image name [version]/image ID docker run hello-world
The run command in docker is very complex. What are the persistent running mapping ports, container aliases, data volume mounts, etc
Only a few common parameters are introduced here
-d, --detach Run the container in the background and return to the container ID -e, --env list Set container environment variables -i, --interactive Run the container in interactive mode, usually with -t Simultaneous use -m, --memory bytes Maximum container memory --name string Specify container name -p, --publish list Specify port mapping host port:Container Port -t, --tty Reassign a pseudo input terminal for the container, usually with -i Simultaneous use -v, --volume list Attach the data volume to the container -w, --workdir string assign work directory
give an example:
docker run -dit \ -v $PWD/ql/config:/ql/config \ -p 5600:5600 \ --name qinglong \ --hostname qinglong \ --restart unless-stopped \ whyour/qinglong:2.11.3
Start the redis container and check whether the exposed port is successful in the win environment (remember to release the cloud environment port interception)
docker run --name redis -p 6379:6379 -d redis:6.0
Testing the link to redis:
View Container
#View Running Container docker ps #View all containers, including stopped docker ps -a
Stop Container
#docker stop container name/container ID docker stop redis #perhaps docker stop 8ddadf5d2ff3
Delete Container
Stop before deleting
#dokcer rm container name/container ID docker rm redis
Import Export Container
#docker export -o Save path and file name Container name/container ID docker export -o redis.tar redis #docker import file image name [: tag] docker import imports a container into an image instead of restoring it to a container. docker import redis.tar redis:dev
This command is similar to the previous image of docker save. The main differences are as follows:
- docker export needs to specify a container. You cannot specify either an image or a container as docker save does.
- docker save saves image s, and docker export saves container s;
- docker load is used to load the image package, and docker import is used to load the container package, but both will be restored as images;
- docker load cannot rename the loaded image. docker import can specify a new name for the image.
- The application scenario of docker save is that if your application uses docker compose A combination of multiple images arranged by yml, but the client server you want to deploy cannot connect to the internet. At this time, you can use Docker Save to package the images used, and then copy them to the client server for loading using docker load.
- The docker export application scenario is mainly used to create a basic image. For example, you can start a container from a ubuntu image, install some software and make some settings, and then use docker export to save it as a basic image. Then, distribute the image to others for use, such as the basic development environment.
Enter the running container
#docker exec -it container name/container ID sh #Enter the redis container docker exec -it redis sh
Or when starting the container, run it directly in interactive mode
docker run -it --name redis-dev redis:dev sh
Or use docker attach container name/container ID (not commonly used)
Exit after entering the container:
#Exit directly --- The container for executing this parameter will be closed when - d (background running) is not added exit # Graceful exit --- The container will not be closed when executing this command regardless of whether the - d parameter is added or not Ctrl + p + q
Restart container
#docker restart container ID/container name dokcer restart redis
Operation and maintenance related
View the memory occupied by the container
#docker stats container name/container ID dokcer stats redis
View the disk occupied by docker
docker system df
View container run log
#docker logs container name/container ID docker logs redis
View container operation information
#docker inspect container ID/name docker inspect redis
Copy file to container
#docker cp container ID/name: the path to copy the file to the outside docker cp container ID/name: Inside container path Outside container path #Copy files from the outside to the container docker cp Out of container path container ID/name: In container path
Replace container name
docker rename container ID/Container Name New Container Name
Update container parameters
If you do not want to delete the container and want to set the container to boot automatically, you can modify its boot configuration!
docker update --restart=always container Id/Container name
Summary
A picture found on the Internet is very clear:
reference resources: https://docs.docker.com/engine/reference/commandline/docker/