本文最后更新于662 天前,其中的信息可能已经过时,如有错误请发送邮件到2763981847@qq.com
Docker常用命令
- 前言:Docker命令有很多,但我们并不需要全部记住,只需记住一些常用的即可。即使忘记了也要学会使用
dolcker --help
搭配| grep
快速查找命令,想具体学习某个指令也可以像docker pull --help
这样来学习指令的具体格式和参数。
-
镜像操作
- 搜索镜像:
docker search <image>
也可直接到Docker Hub搜索。 - 下载镜像:
docker pull <image>
#下载最新版 docker pull nginx #下载指定版本。镜像名:版本名(标签) docker pull nginx:1.20.1
- 查看本地镜像:
docker images
- 删除本地镜像:
docker rmi <image>
# 删除方式一 docker rmi 镜像名:版本号 # 删除方式二 docker rmi 镜像id
- 构建镜像:
docker build -t <image-name>
- 保存镜像:
docker save [OPTIONS] IMAGE [IMAGE...]
#Options: # -o, --output string Write to a file, instead of STDOUT # 将镜像保存成压缩包 docker save -o fileName.tar mynginx:1.0
- 加载镜像
docker load [OPTIONS]
#Options: # -i, --input string Read from tar archive file, instead of STDIN # -q, --quiet Suppress the load output # 加载保存为压缩包的镜像 docker load -i fileName.tar
- 推送远程仓库
- 到Docker Hub注册登录并新建一个仓库(也可以不新建仓库,但要保证第二步改的新镜像名的前缀为自己账号的仓库前缀,推送后会自动创建仓库)
- 将待推送镜像名改成仓库要求的镜像名
docker tag local-image:tagname new-repo:tagname
- 登录到docker hub
docker login
,并输入账号密码 - 推送
docker push new-repo:tagname
- 退出
docker logout
完整代码实例:
# 将待推送镜像名改成仓库要求的镜像名 docker tag mynginx:1.0 oreki/mynginx:1.0 # 登录到docker hub docker login # 推送 docker push oreki/mynginx:1.0 # 推送完成后退出 docker logout
- 搜索镜像:
-
容器操作
- 运行容器:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
# docker run 设置项 镜像名 镜像启动运行的命令(镜像里面默认有的,一般不会写) #常用设置项 # --name=imageName 指定容器名称 # -d:后台运行 # --restart=always: 开机自启 # -p 本机端口:docker内部端口 docker run --name=myNginx -d --restart=always -p 88:80 nginx
- 停止容器:
docker stop <container_id/name>
- 启动容器:
docker start <container_id/name>
- 进入容器:
docker exec -it <container_id/name> /bin/bash
- 退出容器:
exit
- 查看运行中的容器:
docker ps
- 查看所有容器(包括停止的):
docker ps -a
- 删除容器(无法删除运行中的):
docker rm <container_id/name>
- 删除容器(强制删除):
docker rm -f <container_id/name>
- 更新容器设置项:
docker update <container_id/name> --restart=always
- 提交修改后的容器:
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
#Options: # -a, --author string Author (e.g., "John Hannibal Smith <hannibal@a-team.com>") # -c, --change list Apply Dockerfile instruction to the created image # -m, --message string Commit message # -p, --pause Pause container during commit (default true) docker commit -a "Oreki" -m "提交修改" nginx mynginx:1.0 # 注意:repository name 必须小写
- 运行容器:
-
数据卷操作
- 创建数据卷:
docker volume create <volume>
- 查看数据卷:
docker volume ls
- 删除数据卷:
docker volume rm <volume>
- 挂载数据卷:
docker run -v <host-path>:<container-path> <image>
- 创建数据卷:
-
其他常用操作
- 查看Docker日志
docker logs
- 将容器内指定位置文件复制出来
docker cp CONTAINER:SRC_PATH DEST_PATH
- 将外面的文件复制到容器内指定位置
docker cp SRC_PATH CONTAINER:DEST_PATH
- 查看Docker日志