docker
启动docker服务
systemctl start docker
关闭docker服务
systemctl stop docker
重启docker服务
systemctl restart docker
搜索镜像
docker search java
下载镜像
docker pull java:8
列出镜像
docker images
删除镜像
docker rmi java:8
docker rmi -f java:8
docker rmi `docker images | grep none | awk '{print $3}'`
docker rmi -f $(docker images)
列出容器
docker ps
docker ps -a
停止容器
docker stop $ContainerName(or $ContainerId)
强制停止容器
docker kill $ContainerName
启动容器
docker start $ContainerName
进入容器
docker inspect --format "{{.State.Pid}}" $ContainerName
nsenter --target "$pid" --mount --uts --ipc --net --pid
查看容器的IP地址
docker inspect --format '{{ .NetworkSettings.IPAddress }}' $ContainerName
将容器启动方式改为always
# 将容器启动方式改为always
docker container update --restart=always $ContainerName
同步宿主机时间到容器
docker cp /etc/localtime $ContainerName:/etc/
指定容器时区
docker run -p 80:80 --name nginx \
-e TZ="Asia/Shanghai" \
-d nginx:1.17.0
查看容器资源占用状况
- 查看指定容器资源占用状况,比如cpu、内存、网络、io状态
docker stats $ContainerName
docker stats -a
查看容器磁盘使用情况
docker system df
执行容器内部命令
docker exec -it $ContainerName /bin/bash
指定账号进入容器内部
# 使用root账号进入容器内部
docker exec -it --user root $ContainerName /bin/bash
查看所有网络
docker network ls
创建外部网络
docker network create -d bridge my-bridge-network
指定容器网络
docker run -p 80:80 --name nginx \
--network my-bridge-network \
-d nginx:1.17.0
Docker容器清理
docker system df
docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm
docker rmi $(docker images | grep "^" | awk "{print $3}")
- 删除所有dangling数据卷(即无用的 volume)
docker volume rm $(docker volume ls -qf dangling=true)