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 小时前
docker快速部署启动gitlab
git·docker·云原生·eureka
hgz07101 小时前
Docker Compose
运维·docker·容器
Wang15307 小时前
jdk内存配置优化
java·计算机网络
0和1的舞者8 小时前
Spring AOP详解(一)
java·开发语言·前端·spring·aop·面向切面
Wang15308 小时前
Java多线程死锁排查
java·计算机网络
小小星球之旅8 小时前
CompletableFuture学习
java·开发语言·学习
Drqf8 小时前
NAS一键安装脚本
docker
jiayong239 小时前
知识库概念与核心价值01
java·人工智能·spring·知识库
皮皮林5519 小时前
告别 OOM:EasyExcel 百万数据导出最佳实践(附开箱即用增强工具类)
java
Da Da 泓10 小时前
多线程(七)【线程池】
java·开发语言·线程池·多线程