docker中container相关命令

1.以tomcat镜像为例运行tomcat容器(运行tomcat实例)
docker run tomcat
2.宿主机端口与容器端口进行映射 -p
docker run -p 8080(系统上外部端口):8080(容器内服务监听的端口) tomcat
3.启动容器 映射外部端口 后台启动 -d
docker run -p 8080:8080 -d(后台运行) tomcat
4.启动容器 后台运行 映射端口 指定名称 --name
docker run -d(后台运行) -p 8081:8080(书写多个) --name tomcat01(容器名称) tomcat(镜像名称)

查看正在运行的容器
docker ps 查看正在运行容器
docker ps -a 查看所有容器(运行 & 非运行)
docker ps -q 返回正在运行容器id
docker ps -qa 返回所有容器的id

export/import操作容器,直接将正在运行的容器导成tar文件,跟save有区别,save是将镜像导出成文件,而且load导入的镜像可以直接运行,而import不行
docker export导出的文件被import导入以后变成镜像,并不能直接启动容器,需要使用docker ps --no-trunc查看相关启动命令,然后再用命令启动
docker run -d -P mynginx:v1 /docker-entrypoint.sh nginx -g 'daemon off';
或者docker image inspect看之前镜像,把之前镜像的Entrypoint的所有和Cmd的连接起来互动命令

停止 重启容器命令
docker start 容器名字或者容器id 开启容器
docker restart 容器名或者容器 id 重启容器
docker stop 容器名或者容器id 正常停止容器运行
docker kill 容器名或者容器id 立即停止容器运行

删除容器
docker rm 容器名称|容器id 删除停止的容器
docker rm -f 容器名称|容器id 删除正在运行的容器
docker rn -f $(docker ps -aq) 删除所有容器

查看容器内服务 运行日志
docker logs 容器id | 容器名称
docker logs -f 容器id | 容器名称 实时展示日志
docker logs -tf 容器id | 容器名称 加入时间戳实时展示日志
docker logs -tail N(5) 容器id | 容器名称 查看容器日志最后5行

查看容器内进程
docker top 容器id|容器名称 查看容器内的进程

与容器内部进行交互
docker exec -it 容器id|容器名称 bash

操作系统与容器的文件交互
从容器复制文件到操作系统上
docker cp 容器唯一标识(id,name):容器内资源路径 操作系统路径
从操作系统复制文件到容器
docker cp 文件|目录 容器id:容器路径

数据卷 Volume
作用:实现宿主机系统与容器之间的文件共享,改变宿主机中的文件可以直接影响到容器中的文件
使用:-v参数 宿主机目录(绝对路径):容器内目录
1.自定义数据卷目录
docker run -d -p 8001:8080 --name tomcat01 -v 宿主机目录:容器内目录 tomcat
docker run -d -p 8001:8080 --name tomcat01 -v 宿主机目录:容器内目录:ro tomcat :ro表示容器内的目录只读
2.自动数据卷目录
docker run -d -p 8003:8080 --name tomcat03 -v aa:/usr/local/tomcat/webapps tomcat
docker volume ls # 查看你自定义的卷名字
docker volume inspect aa(你自定义卷的名字) # 查看详细的自定义卷的配置信息
aa代表一个数据卷名字,名字可以随便写,docker在不存在时自动创建这个数据卷同时自动映射宿主机中某个目录
同时在启动容器时会将aa对应容器目录中全部内容复制到aa映射目录中 find / --name aa 可以找到宿主机中映射的aa目录路径

将容器打包成一个新的镜像
docker commit -m '描述信息' -a '作者信息' 容器id 打包的镜像名称:标签版本

将镜像备份出来
docker save 镜像名称:标签名 -o 文件名

posted @ 2021-03-09 23:49  我在路上回头看  阅读(153)  评论(0编辑  收藏  举报