复制文件
//从容器内复制到容器外
docker cp 容器id:/容器内文件路径 /容器外路径
docker cp 334183ddafe4:/deviceservice.jar /data/mslogs/deviceservice/
//从容器外复制文件到容器内
docker cp /容器外文件路径 容器id:/容器内文件路径
docker cp test.txt mycontainer:/app/test.txt
查看docker进程
//查看正在运行的容器信息
docker ps
//查看所有容器,包括停止的
docker ps -a
//展示容器大小
docker ps -s
查看docker详细的信息(启动时间、参数等)
docker inspect 容器id(或容器名)
查看docker容器的内存,cpu等信息
docker stats my-container
#如果你只想看一次数据而不是实时流,可以加上--no-stream选项。
#查看内存情况
docker stats --no-stream my-container
查看docker进程号
docker top my-container
#根据上面的pid
#查看top
top -p <pid>
#查看进程
ps -ef|grep <pid>
docker运行容器
docker run --name 容器名字 --rm -it -p [ip:]主机端口:容器端口 镜像名称 [命令]
//docker运行容器,并指定容器名称
docker run --name 容器名称 -d 镜像名称:tag
docker run --name mynginx -d nginx:latest
//映射端口,映射目录启动
docker run -p 80:80 -v /data:/data -d nginx:latest
//交互模式启动容器
docker run -it nginx:latest /bin/bash
设置环境变量
-e key1=value1
设置容器的主机名
-h hostname
或
--h=hostname
配置dns
--dns=ip
指定网络模式为container
docker run --network=container:容器名或id 容器名[:tag]
docker启动容器
docker start 容器id
docker停止容器
docker stop 容器id
docker重启容器
docker restart 容器id
docker设置容器自动重启
docker update --restart=always 容器id/容器名
docker导入导出
总的来说,如果你想要保存整个镜像,包括它的所有历史和标签,那么你应该使用 docker save 和 docker load命令。而如果你只是想要保存一个容器的当前状态,那么你应该使用 docker export 和 docker import 命令。
#这个操作会将所有的镜像层以及元数据打包到一个 tar 文件中。
#然后,你可以使用 docker load 命令将这个 tar 文件导入到任何 Docker 环境中
导出:docker save -o <保存路径>/myimage.tar myimage:latest
导入:docker load -i <路径>/myimage.tar
#docker export 命令可以将运行中的容器的文件系统导出为一个 tar 文件。
#然后,你可以使用 docker import 命令将这个 tar 文件作为一个新的镜像导入。
导出:docker export <容器ID> > mycontainer.tar
导入:docker import mycontainer.tar
docker-compose 命令
# docker-compose停止容器
docker-compose down(会删除容器,需要重新修改容器内的配置文件等,不建议)
#docker-compose启动容器
docker-compose up -d
#docker-compose重启容器
docker-compose restart(不会修改容器内配置文件)