Docker常用命令


docker version 			# 查看Docker版本信息
systemctl start docker		# 启动 docker 服务:
systemctl stop docker		# 停止 docker 服务:
systemctl status docker		# 查看 docker 服务状态
systemctl restart docker		# 重启 docker 服务

************************ 批量命令处理 ************************ 
docker start $(docker ps -a -q)	# 启动所有容器
docker stop $(docker ps -a -q)	# stop停止所有容器
docker rm $(docker ps -a -q)		# remove删除所有容器 
docker rm $(docker ps -aq)		# 删除所有未运行的容器
docker ps -aq --filter "name=myapp" | xargs docker stop	# 停止所有名字包含myapp的容器
docker ps -aq --filter "name!=myapp" | xargs docker stop	# 停止除了特定容器之外的所有容器
docker ps -a | grep myapp | awk '{print $1}' | xargs docker rm -f	# 删除指定包含的批量容器

docker rmi $(docker images -q)	# 删除所有镜像
docker image prune -a			# 删除掉未被使用的镜像 
# 删除指定仓库的镜像(删除所有"mall/*"仓库镜像)可以如下使用: 
docker images -q --filter=reference="mall/*:*" | xargs docker rmi	
docker images --filter "dangling=true"	# 列出所有“none”镜像	
docker images -f "dangling=true"		# 列出所有“none”镜像
# 列出所有“none”镜像(ID、仓库名称、标签和镜像大小)
docker images --filter "dangling=true" --format "{{.ID}}\t{{.Repository}}\t{{.Tag}}\t{{.Size}}"  
# docker 删除tag为none的docker镜像
方法1:docker rmi $(docker images | grep "none" | awk '{print $3}')   
方法2:docker images --filter "dangling=true" --format "{{.ID}}" | xargs docker rmi
方法3:docker rmi $(docker images -f "dangling=true" -q)


************************ 镜像命令 ************************ 
1. 查看镜像
执行命令:docker images

2. 搜索镜像
执行命令:docker search 镜像名称

3. 删除镜像
执行命令:docker rmi 镜像ID  (多个 :docker rmi 镜像ID 镜像ID 镜像ID)

4. 清理镜像缓存,以释放磁盘空间
执行命令:docker image prune

************************ 容器命令 ************************ 
1. 查看正在运行的容器
执行命令:docker ps 

2. 查看停止的容器。
执行命令:docker ps -f status=exited

3. 查看所有容器(包括运行和停止)
执行命令:docker ps -a
指定容器-查看: docker ps -f "name=CONTAINER_NAME"

4. # 停止容器
docker stop 容器名称|容器ID

5. # 启动容器
docker start 容器名称|容器ID

6. # 删除容器
docker rm 容器名称|容器ID

7.  # 查看容器使用的镜像ID
docker inspect -f '{{.Image}}' <容器ID>

8.  # 查看容器挂载目录  
docker inspect 容器ID

9. # 多目录挂载
docker run -di -v /宿主机目录:/容器目录 -v /宿主机目录2:/容器目录2 镜像名

10.  #进入容器/执行命令:
docker exec -it nacos /bin/bash

11. #容器目录挂载 【采坑:每次挂载建议删除重新创建容器进行多目录挂载,否则执行以下命令会在创建一个nginx容器】
docker run -it -v /本地目录:/容器目录  容器ID /bin/bash

12.# 文件copy 进行更改
 先把文件复制到本地当前文件夹进行修改,.点代表当前所在目录:docker cp mysql:/etc/mysql/my.cnf .
 修改后,再把文件复制覆盖到文件所在文件夹:docker cp my.cnf mysql:/etc/mysql/my.cnf

 
************************ Docker Compose 常用命令 (构建、创建、启动相关容器) ************************ 
1.  -d表示在后台运行
docker-compose up -d
2. 指定文件启动
docker-compose -f docker-compose.yml up -d
3. 停止所有相关容器
docker-compose stop
4. 列出所有容器信息
docker-compose ps

************************ 其他命令 ************************ 
0. #授权  
chmod +x  *.sh	

1. # 查看日志  
docker logs -f nginx
docker logs -f --tail=100 容器ID    (最后一百条数据)
docker logs --since 30m 容器ID     (查看最近30分钟的日志:)

2. #查看.sh文件log日志
sh + ./deploy.sh port 

3. #查看 docker-compose 日志
 docker-compose logs -f -t  ruoyi-gateway >> myDockerCompose.log
 
4. #查看容器详情节点
docker inspect mysql

5. #列出所有 docker 网络 
docker network ls
 
************************ Docker命令安装 ************************
# 安装vim 和 vi 命令
	apt-get update
	apt-get install -y vim

一、CentOS中Docker更改配置后重启不了的两种解决方式

方式一:实际文本修改配置

首先当前Linux主机中已存放了docker容器中的配置信息(一般挂载默认目录是:/var/lib/docker/overlay/),其次只要找到这个挂载目录的配置文件,修改后就可以重新启动了这里不过多赘述方式一。

方式二:间接修改配置文件

# 1、将docker容器内的文件拷贝至Linux主机中,.点代表当前所在目录
    docker cp mysql:/etc/mysql/my.cnf .

# 2、vim修改配置文件中出错的地方,重新修改回来。复制修改后的配置文件到docker容器中去
    docker cp my.cnf mysql:/etc/mysql/my.cnf

# 3、最后重启容器实例,使修改后的配置文件生效
   docker restart mysql

二、Docker-Compose 设置JVM虚拟机内存日志内存

-Xms1024m (堆最大大小)

-Xmx1024m (堆默认大小)

1. Docker-Compose 设置

链接:参考-1

version: '2'
 
services:
  ${project.build.finalName}:  # 使用 Dockerfile 中定义的项目名作为服务名称
    image: ${project.build.finalName}:1.0.0  # 使用 Dockerfile 中定义的镜像名和标签
    container_name: ${project.build.finalName}  # 容器名称也使用同样的命名
    ports:
      - "8080:8080"  # 暴露的端口
    volumes:
      - ./${project.build.finalName}.jar:/app/${project.build.finalName}.jar  # 挂载 JAR 文件
      - ./application.yml:/app/application.yml  # 挂载配置文件
      - ./application-${activatedProperties}.yml:/app/application-${activatedProperties}.yml  # 挂载特定环境的配置文件
      - ./dumps:/app/dumps  # 挂载内存转储目录
      - ./logs:/app/logs  # 挂载日志目录
    environment:
      #- TZ=Asia/Shanghai    # 设置时区 1  (如果无效:1和2都试一下)
      - TIME_ZONE=Asia/Shanghai  # 设置时区 2
      - JAVA_OPTS=-server -Xms512m -Xmx1024m -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/dumps/oom_dump.hprof
      - APP_ENV=-Dapp.log.serviceName=${project.build.finalName} --spring.profiles.active=${activatedProperties}
    restart: always  # 设置容器总是自动重启
    logging:
      driver: json-file
      options:
        max-size: "10M"
        max-file: "1"
2.  maven pom.xm 设置  (添加:"-Xmx1024m", "-Xms512m" )
<entryPoint>["java", "-jar", "-Xmx1024m", "-Xms512m", "-Dspring.profiles.active=prod","/${project.build.finalName}.jar"]</entryPoint>
3. jar 命令设置
java -jar -Xms1024m -Xmx1024m 1.jar
# 或
nohup /usr/local/jdk1.8.0_144/bin/java -jar -Xms1024m -Xmx1024m /data/1-*.jar > /data/1.log 2>&1 &

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

oh LAN

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

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

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

打赏作者

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

抵扣说明:

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

余额充值