理解docker命令

基础命令

帮助命令

docker --help(帮助命令)

用于获取某个命令的帮助信息

bash 复制代码
#命令帮助
docker 命令 --help

小技巧

换行符 '\'

使用命令换符,可以让繁杂命令变得有条理

bash 复制代码
#命令换行,使用换行符 \
docker ... \
        ... \

镜像命令

docker pull(拉取镜像)

对于常用镜像可以从官方镜像仓库获取,pull命令拉取到本地镜像仓库

bash 复制代码
docker pull 镜像名或者镜像名:tag

#注意:如果pull后不指定镜像版本(或叫标签),直接使用镜像名=镜像名:latest,也就是下载最新的-英[ˈleɪtɪst]:最新的
docker pull 镜像名:latest

docker images(查看镜像)

查看镜像,镜像的英文image,其复数形式images,所以有

bash 复制代码
#镜像查看
docker images

docker rmi(删除镜像)

那么镜像删除呢?镜像英文image,所以 'rm' +'i'

bash 复制代码
#镜像删除
docker rmi 镜像名或者镜像id

docker tag(修改镜像名)

如果要**修改镜像名(或者叫标签名),**使用tag

bash 复制代码
docker tag 镜像名:tag 新镜像名和tag

docker tag 镜像id 新镜像名和tag

docker save(镜像保存成压缩包)

镜像保存成tar压缩包格式,便于文件传输和使用

bash 复制代码
docker save -o 文件名.tar 镜像名或者镜像id

docker load (镜像加载)

对于tar压缩包格式的镜像,如果想要加载,需使用此指令

bash 复制代码
docker load -i 压缩包名.tar

容器命令

docker run(运行容器)

docker容器运行,自然而然想到docker run。那么run的是什么?得到什么呢?如何记忆

运行镜像,得到镜像运行后对应的容器,其相当于执行了两步操作:将镜像放入容器中(docker create),然后将容器启动,使之变成运行时容器(docker start)

bash 复制代码
#注意:镜像名是镜像名:版本,直接使用镜像名=镜像名:latest
docker -run 镜像名或者镜像id

但是还不够,我们需要给容器命名,所以有--name=容器名

bash 复制代码
docker run --name=容器名 镜像名或者镜像id

容器命名了,还需要让容器在后台启动,所以有了-d

bash 复制代码
docker run --name=容器名 -d 镜像名或者镜像id

如果主机重启了,你会发现容器不会重新运行,想开机自启动,所以有--restart=always

bash 复制代码
docker run --name=容器名 -d --restart=always 镜像名或者镜像id

容器的私有网络如果想通过主机访问,那么需要主机与容器端口映射, -p 主机端口:容器端口

bash 复制代码
docker run --name=容器名 -d --restart=always -p 主机端口:容器端口 镜像名或者镜像id

**目录挂载,**是为了解决docker重启后,之前容器运行的配置或者数据丢失,所以要将主机目录与容器目录做映射,使用 -v参数,注意需要确保主机目录存在,否则挂载不生效

bash 复制代码
#总结:--name 容器命名,-d 后台启动,--restart 开机自启动,-p 端口映射, -v 目录映射(多个映射使用多个-v)
docker run --name=容器名 -d --restart=always -p 主机端口:容器端口 -v 主机目录:容器目录 镜像名或者镜像id

docker rm(删除容器)

容器删除直接记remove缩写rm

bash 复制代码
#容器删除,针对已经停止的容器
docker rm 容器名或者容器id

docker ps(查看容器)

查看容器,ps是process status,是在Linux系统中是常用的进程管理命令,这里docker ps与之异曲同工

bash 复制代码
#正在运行的容器查看
docker ps

#如果要看所有的容器,比如还能看停止的容器
docker ps -a

docker start/stop/restart(启动/停止/重启容器)

**启动/停止/重启容器,**自然而然想到start/stop/restart

bash 复制代码
#启动容器
docker start容器名或者容器id

#停止容器
docker stop 容器名或者容器id

#重启容器
docker restart 容器名或者容器id

docker update(更新容器)

容器启动后,如果想要更新运行参数,可以使用update命令

bash 复制代码
docker update 容器名或者容器id 需要追加的参数

docker exec(进入容器)

-i选项代表使用交互方式,-t代表打开一个终端,/bin/bash作用是进入后启动bash命令支持

bash 复制代码
docker exec -it 容器名或容器id /bin/bash

docker commit(容器内容修改)

进入到容器后,如果想修改其内容,并重新打成新的镜像

bash 复制代码
docker commit 镜像名或者镜像id 新镜像名和tag

#参数-a author缩写,-m message缩写
docker commit -a "作者" -m "描述" 镜像名或者镜像id 新镜像名和tag

docker logs(查看容器日志)

有时需要排查容器运行的问题,可以使用logs命令

bash 复制代码
docker logs 容器名或者容器id

docker cp (主机与容器文件拷贝)

bash 复制代码
#从容器拷贝到主机
docker cp 容器id:容器文件或目录 主机文件或目录

#从主机拷贝到容器
docker cp 主机文件目录 容器id:容器文件或目录

远程操作

镜像命令

docker login(登录到docker镜像仓库)

bash 复制代码
docker login -u "用户名" -p "密码" 远程镜像仓库地址(不写默认官方)

docker logout(退出登录)

bash 复制代码
docker logout

docker push(推送镜像到远程仓库)

bash 复制代码
docker push 镜像名或镜像id

待续。。。

相关推荐
leoZ2314 分钟前
Linux 环境常用服务一键部署文档(Docker 版)
运维·docker·容器
追寻少年15 分钟前
基于Kubeadm和Docker部署K8S高可用集群
docker·容器·kubernetes
范什么特西17 分钟前
第一个Mybatis
java·开发语言·mybatis
下次再写17 分钟前
【Redis实战】深入理解Redis缓存策略:从原理到Spring Boot实践
java·spring boot·redis·缓存穿透·缓存击穿·分布式缓存·缓存策略
超梦dasgg20 分钟前
智慧充电系统计费定价服务Java 实现
java·开发语言·spring·微服务
敲敲千反田22 分钟前
ThreadLocal和CompletableFuture
java·网络·jvm
码云数智-园园31 分钟前
Spring循环依赖:三级缓存到底解决了什么,没解决什么?
java·后端·spring
龙亘川41 分钟前
城市更新×智慧治理:老旧小区改造中的数字化创新实践
java·大数据·人工智能·机器学习·智慧城市
无所事事O_o44 分钟前
OPENSSL生成非对称加密公私钥
java·加密
GitCode官方44 分钟前
投稿|Git + Docker 零基础入门攻略
git·docker·容器