Docker基础命令

参考:https://www.bilibili.com/video/BV1og4y1q7M4?p=1


一. docker的帮助命令

# 查询docker的版本信息
docker -v

# 查询docker的系统详细信息
docker info

# 查看相关命令的帮助
docker [命令] --help

二. 镜像命令

1. docker images 查看本地所有的镜像

docker images
# 输出解释
# REPOSITORY:镜像的仓库源
# TAG:镜像的版本标签                
# IMAGE ID:镜像的唯一id            
# CREATED:镜像的创建时间            
# SIZE:镜像的大小

# 可选参数
 -a # 列出所有镜像
 -q # 只显示镜像的id

2. docker search 到中央仓库中查询镜像

docker search 镜像名

# 可选参数
 -f # 添加过滤条件
 
# 测试,搜索stars数量在3000以上的镜像
docker search -f stars=3000 mysql

3. docker pull 拉取镜像

# 默认不加tag表示下载最新的latest版本,加上tag表示下载指定版本(仓库必须有该版本)
docker pull 镜像名[:tag]

# 测试,下载latest版本mysql
docker pull mysql

# 测试,下载指定版本mysql
docker pull mysql:5.7

4. docker rmi 删除镜像

# 删除指定的镜像
docker rmi -f 镜像名或id
# 删除多个指定的镜像
docker rmi -f 镜像名或id1 镜像名或id2 镜像名或id3
# 删除全部镜像
docker rmi -f $(docker images -aq)

三. 容器命令

有镜像才可以创建容器,下载centos镜像用于测试

docker pull centos

1. docker run -it 新建并启动容器

docker run [可选参数] 镜像名
# 可选参数
--name Name # 容器名
-d # 后台启动
-it # 交互方式运行
-p # 指定容器端口
-P # 随机指定端口

# 测试,启动并进入centos容器
docker run -it centos

2. docker ps 查看运行的容器

docker ps [可选参数]
# 可选参数
-a # 列出当前运行以及历史运行过的全部容器
-n ? # 显示最近的?个容器
-q # 只显示容器id

3. 退出容器

# 直接退出容器
exit
# 容器不停止退出
ctrl + P + Q

4. docker rm 删除容器

# 删除指定容器,不能删除正在运行的容器,若强制删除需使用 rm -f
docker rm 容器id 
# 删除所有容器
docker rm $(docker ps -aq)
docker ps -aq | xargs docker rm

5. 启动与停止容器

# 启动容器
docker start 容器id
# 重启容器
docker restart 容器id
# 停止当前正在运行的容器
docker stop 容器id
# 强制停止当前容器
docker kill 容器id

6. docker run -d 后台启动容器

# 坑:容器要可以后台运行,必须要有一个前台进程,docker发现没有应用会自动停止容器
docker run -d 容器id

7. docker logs 查看日志

docker logs [可选参数] 容器id
# 可选参数
-f # 跟随日志打印
-t # 显示时间戳
--tail 数字 # 显示后面指定数量条目的日志信息

# 测试,自己写脚本查看日志信息
docker run -d --name mycentos centos /bin/bash -c "while true;do echo helloworld;sleep 2;done"
docker logs -tf --tail 10 mycentos

8. docker top 查看容器中的进程信息

docker top 容器id

9. docker inspect 查看容器的元数据

docker inspect 容器id

10. 进入当前运行的容器

# 方式一(常用) 进入容器后开启新终端,可在里面操作
docker exec -it 容器id bashshell
# 方式二 进入容器正在执行的终端,不会启动新的终端
docker attach 容器id

11. docker cp 从容器内拷贝文件到主机

docker cp 容器id:容器内路径 主机路径

# 测试,拷贝容器内 test.txt 文件到主机
root@debian:~# ls
Dockerfile  myCentos  myTomcat  nacos
root@debian:~# docker run -it --name mycentos centos
[root@7d39f488670f /]# ls
bin  etc   lib    lost+found  mnt  proc  run   srv  tmp  var
dev  home  lib64  media       opt  root  sbin  sys  usr
[root@7d39f488670f /]# cd /home
[root@7d39f488670f home]# ls
[root@7d39f488670f home]# echo HelloWorld > test.txt
[root@7d39f488670f home]# ls
test.txt
[root@7d39f488670f home]# exit   
exit
root@debian:~# docker cp mycentos:/home/test.txt .
root@debian:~# ls
Dockerfile  myCentos  myTomcat  nacos  test.txt
root@debian:~# cat test.txt 
HelloWorld
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

攻城老湿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值