docker 使用

项目场景:

提示:这里简述项目相关背景:

最近需要使用到docker 简单的记录一下docker 命令。


问题描述

1、查看当前所有的容器

java 复制代码
docker ps -a

主要看

CONTAINER ID(镜像ID)、

STATUS(当前状态):看容器是不是启动状态、

PORTS(映射端口) 、 NAMES(容器的名称)。

需要看容器大小使用

java 复制代码
docker ps -s 

2、查看可以用的源

java 复制代码
docker search nginx

通常看Description中有Official的或者STARS人数最多的,然后看名称和Description符合自己的。

拉取镜像

java 复制代码
docker pull nginx

如果需要查看已经有的镜像,使用

java 复制代码
docker images|grep nginx

3、运行nginx容器

java 复制代码
docker run -d --name Nginx1 -p 8080:80 nginx:latest

-d表示后台运行容器,并返回容器ID

Nginx1表示容器名称

8080:80表示 主机(宿主)端口:容器端口

nginx:latest 表示 镜像

java 复制代码
docker ps -a

查看容器有没有运行起来 主要是看 STATUS

运行起来就可以访问8080端口看到nginx界面了。

4、挂载目录

创建一个目录

java 复制代码
#创建目录
mkdir nginx 
cd nginx
#挂载
docker cp Nginx1:/etc/nginx/nginx.conf ./
docker cp Nginx1:/etc/nginx/conf.d ./
docker cp Nginx1:/var/log/nginx ./logs
docker cp Nginx1:/usr/share/nginx/html ./

5、停止并删除nginx容器

java 复制代码
docker stop Nginx1
docker rm Nginx1

也可以根据镜像id删除 把Nginx1改成镜像id就可以了

6、启动新的镜像(必须先停止再删除才能创建名字一样的镜像)

java 复制代码
docker run -d -m 2g --cpus 1 -e TZ='Asia/Shanghai' -p 8080:80 --name Nginx1 --restart always -v /root/test/nginx/nginx.conf:/etc/nginx/nginx.conf -v /root/test/nginx/conf.d:/etc/conf/conf.d -v /root/test/nginx/logs/logs/nginx:/var/log/nginx -v /root/test/nginx/html:/usr/share/nginx/html nginx:latest

7、查看挂载情况

java 复制代码
docker inspect Nginx1 |grep Mounts -A 200

8、查看log

java 复制代码
docker logs 镜像id

9、启动docker

java 复制代码
systemctl start docker 
#重启docker
systemctl restart docker 

10、启动容器

java 复制代码
docker start 容器ID
停止容器
docker stop 容器ID
重启容器
docker restart 容器ID

11、docker 打包镜像

java 复制代码
docker save -o 自定义名称.tar 容器ID:版本号
#加载镜像
docker load < 自定义名称.tar
相关推荐
程序员黑豆4 小时前
Java包装类:基本类型与对象的桥梁
java·前端·ai编程
mldong8 小时前
"applicant" 契约:退回发起人的闭环设计
java·架构
月华路8 小时前
G1 垃圾回收:脏卡队列、记忆集与并发精化线程机制
java·开发语言
虎头金猫8 小时前
如何在群晖NAS上通过Docker部署CloudSaver?群晖部署CloudSaver教程|聚合资源搜索并实现远程访问
运维·服务器·网络·python·docker·容器·pandas
gugucoding8 小时前
47. 【Java】Java内存模型(JMM)与可见性
java·开发语言
zww89491119 小时前
校园跑腿系统开发实战指南:从需求分析到上线部署全流程解析
java
Fluxart.ai9 小时前
电商商品图审核怎么自动化?规则引擎、人工复核与发布门禁
java·前端·自动化
名字还没想好☜10 小时前
Java 线上内存泄漏排查实战:jmap 导堆、MAT 找 GC Roots 与四类常见泄漏
java·开发语言·jvm·内存泄漏
IT爱学堂12 小时前
尚硅谷 - 2025年3月Java+AI大模型应用开发
java·开发语言·人工智能
小贤plus13 小时前
SpringBoot 三大核心注解精讲:@ControllerAdvice、@RestControllerAdvice、@Validated 分组校验(实战)
java