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
相关推荐
曹牧1 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
爬山算法2 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
kfyty7252 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
猫头虎2 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
李少兄2 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
金刚猿2 小时前
01_虚拟机中间件部署_root 用户安装 docker 容器,配置非root用户权限
docker·中间件·容器
忆~遂愿2 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
小韩学长yyds3 小时前
Java序列化避坑指南:明确这4种场景,再也不盲目实现Serializable
java·序列化
仟濹3 小时前
【Java基础】多态 | 打卡day2
java·开发语言
Re.不晚3 小时前
JAVA进阶之路——无奖问答挑战2
java·开发语言