一、镜像操作
获取镜像
docker pull <image-name>:<tag>
列出镜像
docker images
删除镜像
docker image rm <镜像>
# 删除名为 redis 的镜像
docker image rm $(docker image ls -q redis)
# 一次性删除所有镜像
docker rmi $(docker images -q)
当前目录的 Dockerfile 创建镜像
docker build -t <image-name>:<tag>
指定文件构建镜像
docker build -f /path/to/a/Dockerfile -t <image-name>:<tag>
将镜像保存 tar 包
docker save -o image-name.tar <image-name>:<tag>
导入 tar 镜像
docker load --input image-name.tar
将镜像修改成规范的镜像
docker tag <existing-image> <hub-user>/<repo-name>[:<tag>]
二、容器操作
运行容器
docker run -d -p 物理端口1:容器端口1 -p 物理端口2:物理端口2 --name 容器名 <image-name>:<tag>
查看容器
docker ps
docker ps -a
docker ps -a --no-trunc
进入容器
docker exec -it 容器名/ID bash
启动容器
docker start <容器>
# 重启
docker restart <容器>
停止容器
# 停止指定容器
docker stop <容器>
# 停止所有容器
docker stop $(dokcer ps -aq)
删除容器
# 删除指定容器
docker rm <容器>
# 删除所有容器
docker rm $(docker ps -aq)
容器打包镜像
docker commit -a "作者" -m "备注" 容器ID <image-name>:<tag>
将容器打包成规范的镜像
docker commit <exiting-Container> <hub-user>/<repo-name>[:<tag>]
三、挂载
磁盘挂载
docker run -d -p 8080:80 -v 本机路径:容器路径 --name 容器名 <image-name>:<tag>
四、文件拷贝
物理机拷贝文件到容器
docker cp test.txt 容器ID:/var/www/html
容器拷贝文件到物理机
docker cp 容器ID:/var/www/html/test.txt 物理机路径
五、docker-compose 相关
后台启动并运行所有的容器
docker-compose up -d
关闭并删除容器
docker-compose down
开启|关闭|重启已经存在的由docker-compose维护的容器
docker-compose start|stop|restart
运行当前内容并重新构建
docker-compose up -d --build
六、其它
登录 Docker Hub
docker login
上传推送镜像到公共仓库
docker push <hub-user>/<repo-name>:<tag>
查看容器启动日志-启动失败排查
cat $(docker inspect --format '{{.LogPath}}' 容器ID)