项目场景:
提示:这里简述项目相关背景:
最近需要使用到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