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
相关推荐
倒流时光三十年7 分钟前
第一阶段 05 · Java 客户端查询类详解(Query / SearchCriteria / Response 与复杂拼接)
java·开发语言·python
rannn_1117 分钟前
【力扣hot100】哈希表专题——从两数之和到最长连续序列
java·算法·leetcode·哈希
观远数据8 分钟前
云原生BI的战略价值:不是技术选择,而是业务弹性的决定因素
java·人工智能·云原生
Full Stack Developme10 分钟前
Tomcat 设计原理
java·tomcat
gongzhxu18 分钟前
JetBrains IDEA开发环境搭建
java·ide·intellij-idea
程序员三明治26 分钟前
【AI】RAG 生成阶段的最后一公里:Prompt 设计、幻觉抑制与引用对齐
java·人工智能·ai·大模型·llm·prompt·rag
Bug收容所29 分钟前
12305项目学习day5
java·spring boot·redis·mysql·spring·rocketmq
::呵呵哒::30 分钟前
java中SseEmitter
java·开发语言
爱莉希雅&&&30 分钟前
Rocky Linux 10.1 + K8s 1.36.3 离线集群部署笔记(Kubernetes)
linux·笔记·docker·kubernetes·calico
lichuangcsdn31 分钟前
【Spring AI 学习(三)】实现简单的对话
java·人工智能·学习·spring·spring ai