【Docker】命令

docker 命令

常用命令

1、拉取镜像

docker pull mysql:8.0.24

2、查看镜像列表

docker images

在这里插入图片描述

3、run命令

帮助信息 run 命令注解

docker run

  • –name 设置docker容器的名称
  • -d 在后台运行docker
  • -it 使用交互的方式运行docker
  • -p 执行容器的端口,如 -p 80:80
  • -P 随机指定端口
3.1、创建容器并且运行, 最基本的创建运行

命令解释:使用镜像 mysql:8.0.24 创建一个容器,名称为 some-mysql

docker run --name some-mysql -d mysql:8.0.24

在这里插入图片描述

3.2、创建容器并且运行, 容器端口绑定宿主机端口

命令解释:使用镜像 mysql:8.0.24 创建一个容器,名称为 some-mysql,将容器 3306端口与宿主机1967相互绑定,在访问宿主机1967端口的时候,会映射到 对应3306端口容器

docker run --name some-mysql -p 1967:3306 -d mysql:8.0.24

在这里插入图片描述

3.3、创建容器并且运行, 启动容器传递参数

命令解释:

  • -d mysql:8.0.24:使用镜像 mysql:8.0.24 创建一个容器
  • –name some-mysql:名称为 some-mysql
  • -p 1967:3306:将容器 3306端口与宿主机1967相互绑定,在访问宿主机1967端口的时候,会映射到 对应3306端口容器
  • -e MYSQL_ROOT_PASSWORD=123456:通过-e传递环境变量参数,MYSQL_ROOT_PASSWORD=123456 运行容器后设置 MYSQL root密码为 123456
docker run --name some-mysql -p 1967:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.24

在这里插入图片描述

3.4、创建容器并且运行, 将宿主机目录挂载到容器目录

命令解释:

  • -d mysql:8.0.24:使用镜像 mysql:8.0.24 创建一个容器
  • –name some-mysql:名称为 some-mysql
  • -p 1967:3306:将容器 3306端口与宿主机1967相互绑定,在访问宿主机1967端口的时候,会映射到 对应3306端口容器
  • -e MYSQL_ROOT_PASSWORD=123456:通过-e传递环境变量参数,MYSQL_ROOT_PASSWORD=123456 运行容器后设置 MYSQL root密码为123456
  • -v /docker/mysql/data:/var/lib/mysql:将宿主机/docker/mysql/data 目录挂载到 容器 /var/lib/mysql 目录,/var/lib/mysql 目录 是MySQL容器数据目录(对应windows版本MySQL根目录的data)这样就可以在宿主机上操作mysql数据

MySQL Docker容器目录说明:
/var/lib/mysql mysql数据目录
/etc/mysql mysql配置文件目录

docker run --name some-mysql -p 1967:3306 -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.24

在这里插入图片描述

4、ps命令

帮助信息 ps命令注解

4.1、查看当前正在运行的容器列表
docker ps

在这里插入图片描述

4.1、查看所有的docker容器
docker ps -a

在这里插入图片描述

4.3、列出最近创建的容器

示例 查看最近创建的两个容器

docker ps -n 2

在这里插入图片描述

4.4、 显示所有运行过的容器的id
docker ps -aq

在这里插入图片描述

5、容器操作

操作指定容器,容器(CONTAINER ID)ID使用 docker ps 查看

5.1、进入容器终端(需要容器是启动状态)

命令解释: 进入容器(CONTAINER ID)ID为8fcde2ad015a的终端

docker exec -it 8fcde2ad015a bash

在这里插入图片描述
使用容器别名

docker exec -it tomcat1102 bash

在这里插入图片描述
退出容器

exit
5.2、停止容器
docker stop 8fcde2ad015a

在这里插入图片描述

5.3、强制停止容器

当使用docker stop 无法停止时,可以使用docker kill 直接杀掉

docker kill 8fcde2ad015a

在这里插入图片描述

5.4、启动容器
docker start some-mysql

在这里插入图片描述

5.5、重启容器
docker restart some-mysql

在这里插入图片描述

5.6、删除容器

删除容器需要先停止容器

docker rm some-mysql

在这里插入图片描述

5.7、删除所有容器

确保所有容器都是停止状态

docker rm -f $(docker ps -aq)

或者

 docker ps -aq|xargs docker rm -f

在这里插入图片描述

5.8、查看容器的运行日志
docker logs [OPTIONS] CONTAINER

帮助信息:logs 命令注解
其中,OPTIONS 可以是以下选项:

  • -f:跟踪容器日志输出,类似于 tail -f 命令。
  • --tail:仅显示最近的几行日志。例如,--tail 10 仅显示最近的 10 行日志。
  • --since:仅显示指定时间之后产生的日志。例如,--since 2020-01-01 仅显示 2020 年 1 月 1日之后产生的日志。
  • --until:仅显示指定时间之前产生的日志。例如,--until 2020-01-01 仅显示 2020 年 1 月 1日之前产生的日志。
  • CONTAINER 是容器的名称或 ID

实时日志
docker logs -tf 容器id 可以查看启动容器的实时运行日志

docker logs -tf 3f5c420113ef

或者

docker logs -tf tomcat

在这里插入图片描述

部分日志
示例查看指定容器最新10行日志内容

docker logs -tf --tail 10 my_mysql

在这里插入图片描述
日志过滤
在服务器上使用日志排查问题的时候,一般我们会对日志进行过滤
下面是一些常用的过滤方法
1、使用关键词进行过滤:使用grep命令或者其他文本搜索工具,进行关键字的过滤

docker logs <容器id> | grep “关键词”

2、时间范围的过滤:使用–since–until参数,可以查看指定时间段内的日志

docker logs --since "2023-10-31T00:00:00" --until "2023-10-31T23:59:59" <容器id>

since为显示指定时间之后的日志,until 为显示指定时间之前的日志
3、日志输出
如果我们想将容器日志输出到某个文件,方便我们查看分析,可以使用>进行重定向输出

docker logs <容器id> > container_logs.txt
5.9、查看容器的进程信息

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

docker top my_mysql

在这里插入图片描述

5.10、查看容器内部信息

docker inspect 容器id 查看容器内部信息

docker inspect my_mysql

在这里插入图片描述

5.11、从容器内拷贝文件到宿主机
docker cp <container_id>:/path/to/file /path/on/host
  • <container_id>是要拷贝文件的容器ID,
  • /path/to/file是容器中要拷贝的文件路径,
  • /path/on/host是宿主机上要保存文件的路径。

例如,要将容器名称为tomcat的容器中的/usr/local/tomcat/RUNNING.txt文件拷贝到宿主机上的/usr/local/tomcat/目录下,可以运行以下命令:

docker cp tomcat:/usr/local/tomcat/RUNNING.txt /usr/local/tomcat/

在这里插入图片描述

5.12、从宿主机拷贝文件到容器内
docker cp <container_id>:/path/to/file /path/on/host
  • /path/on/host是要拷贝到容器中的文件路径,
  • <container_id>是要拷贝到的容器ID,
  • /path/inside/container是容器内要保存文件的路径。

例如,要将宿主机上的/usr/local/tomcat/RUNNING.txt文件拷贝到容器名称为tomcat的容器中的/usr/local/tomcat/目录下,可以运行以下命令:

docker cp RUNNING.txt tomcat:/usr/local/tomcat/

完成拷贝后,你可以在容器内的/usr/local/tomcat/路径下找到文件。
在这里插入图片描述

6、数据卷命令

帮助信息 volume 命令注解
在这里插入图片描述

6.1、创建数据卷
docker volume create my_jenkins

在这里插入图片描述

6.2、查看数据卷
docker volume ls

在这里插入图片描述

6.3、查看数据卷详细信息
docker volume inspect my_jenkins

在这里插入图片描述

6.4、删除数据卷
docker volume rm tomcat-jforum

在这里插入图片描述

7、docker命令

Docker镜像常用操作命令,整合如下:

docker pull:从Docker Hub或其他注册服务器上拉取镜像。
docker push:将镜像推送到Docker Hub或其他注册服务器上。
docker image:列出、删除和管理本地镜像。
docker tag:为镜像添加标签。
docker rmi:删除本地镜像。
docker load:从tar文件中加载镜像。
docker commit:将运行中的容器提交为新镜像。
docker build:使用Dockerfile构建镜像。
docker exec:在运行的容器中执行命令。
docker logs:查看容器的日志。
docker pause / docker unpause:暂停和恢复容器的运行。
docker rename:重命名容器。
docker rm:删除容器。
docker stats:查看容器的资源使用情况。
docker swarm:管理Docker集群。
docker service:管理Docker服务。
docker stack:管理Docker应用栈。
docker system:查看系统级别操作的信息。
docker version:查看Docker版本信息。

8、Docker推送镜像到Docker Hub仓库

首先,需要在本地机器上登录Docker Hub账户。打开终端或命令提示符,运行以下命令

docker login

然后输入Docker Hub用户名和密码
7.2、推送Docker镜像到Docker Hub
假设我本地机器有一个镜像名称为 liyangit/springboot-test tag标签为 0.0.1, 我需要将这个镜像推送到账户 springboot-test仓库

运行推送命令

docker push liyangit/springboot-test:0.0.1

liyangit/springboot-test: 是镜像名称,如果要推送到仓库,镜像名称前缀必须是 用户名/ 开头
0.0.1: 标签版本号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值