Docker常用命令

2023-04-02  本文已影响0人  轻轻敲醒沉睡的心灵

docker 一般使用命令操作,常见的命令需要熟悉。

1. Docker软件命令

2. 镜像相关命令

# REPOSITORY:表示镜像的仓库源
# TAG:镜像的标签版本号
# IMAGE ID:镜像ID
# CREATED:镜像创建时间
# SIZE:镜像大小
# 同一仓库源可以有多个 TAG版本,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。
# 如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像
# 列出本地所有的镜像(含历史映像层)
docker images -a
# 只显示镜像ID
docker images -q
# 网站
https://hub.docker.com
# --limit : 只列出N个镜像,默认25个
docker search --limit 5 redis
# 默认拉取镜像版本:latest
docker pull ubuntu
# 指定版本(TAG):
docker pull mysql:8.0.7
docker rmi debian
# 强制删除,有容器使用这个镜像时也能删
docker -f rmi debian
# 删除全部 --- 慎用,最好不用
·docker rmi -f $(docker images -qa)

3. 容器相关命令

# 前台启动:以交互模式启动一个容器,启动完成后会进入容器,
docker run -it ubuntu /bin/bash
参数说明:
-i: 交互式操作。
-t: 终端。
ubuntu : ubuntu 镜像。
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
要退出终端,直接输入 exit。

# 后台启动:守护式容器
docker run --restart=always --log-opt max-size=1000m --log-opt max-file=2 -p 6379:6379 --name redis5 -v /data/redis/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data -d redis:5.0.14 redis-server /etc/redis/redis.conf  --appendonly yes  --requirepass 123
参数说明:
--restart=always:自动重启
-p:端口映射。-p 宿主机端口(安装docker的电脑的端口):docker容器内部的端口
-v:目录卷映射。-v 宿主机目录:容器内部目录
-d:后台运行
--name:容器自定义的名字
--log-opt:日志相关
redis:5.0.14:镜像
redis-server /etc/redis/redis.conf  redis启动命令,并指定配置文件
--requirepass: 指定redis 密码
# 注意,上面启动命令,从redis-server往后,是redis特有的,其他镜像容器 不一定有
# 列出正在运行的容器
docker ps
# 列出所有容器
docker ps -a
# 列出最近创建的容器
docker ps -l
# 列出最近创建的n个容器
docker ps -n
# run进去容器,exit退出,容器停止
exit
# run进去容器,ctrl+p+q退出,容器不停止
ctrl+p+q
# 方法1 
docker exec -it 容器ID /bin/bash
# 方法2
docker attach 容器ID
# 区别:attach 直接进入容器启动命令的终端,不会启动新的进程 用exit退出,会导致容器的停止。
# exec 是在容器中打开新的终端,并且可以启动新的进程 用exit退出,不会导致容器的停止。
# ·推荐使用 docker exec 命令,因为退出容器终端,不会导致容器的停止。
docker start 容器ID或者容器名称
docker stop 容器ID或者容器名称
docker restart 容器ID或者容器名称
# 强制停止容器
docker kill 容器ID或者容器名称
docker rm 容器ID
# 一次性删除多个容器实例
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm
docker logs [OPTIONS] 容器ID
[OPTIONS]
-f : 跟踪日志输出
-t : 显示时间戳
--tail :仅列出最新N条容器日志
--since:显示某个日期至今的所有日志

docker logs -f -t --tail 100 --since "2023-01-01" 1234567890abcdefg
docker top 容器ID
docker inspect 容器ID
docker cp  容器ID:容器内路径 目的主机路径
# export 导出容器的内容留作为一个tar归档文件[对应import命令]
docker export 容器ID > 文件名.tar
# import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号
上一篇 下一篇

猜你喜欢

热点阅读