docker 开发如何管理代码 docker怎么管理

admin2024-05-30  12

一、运行容器

    1、基于镜像新建一个容器并启动



docker run -it  --rm -d -p 8888:8080 tomcat:8.0
  -i:交互式操作
  -t:终端
  -rm:容器退出后随之将其删除,可以避免浪费空间
  -p :端口映射
  -d :容器在后台运行



docker 开发如何管理代码 docker怎么管理,docker 开发如何管理代码 docker怎么管理_桥接,第1张

    指明了 -d 运行镜像,会返回容器的 id;如果不指明 -d 运行镜像,会打印出 catalina.out 的 日志,在 [crtl +c] 后,容器即停止运行。

    当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括:

-- 检查本地是否存在指定的镜像,不存在就从公有仓库下载
-- 利用镜像创建并启动一个容器
-- 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
-- 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
-- 从地址池配置一个 ip 地址给容器
-- 执行用户指定的应用程序
-- 执行完毕后容器被终止检查本地是否存在指定的镜像,不存在就从公有仓库下载
-- 利用镜像创建并启动一个容器
-- 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
-- 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
-- 从地址池配置一个 ip 地址给容器
-- 执行用户指定的应用程序
-- 执行完毕后容器被终止

    2、启动一个终止状态(stopped)的容器



docker start [CONTAINER ID]
docker start $(docker ps -aq)  --备注:启动所有 docker 容器



docker 开发如何管理代码 docker怎么管理,docker 开发如何管理代码 docker怎么管理_桥接_02,第2张

二、操作容器

    1、查看容器列表



#列出运行中的容器
docker ps
docker ls
#列出所有容器(包含终止状态)
docker ps -a
docker ls -a
#查看具体容器的信息
docker inspect [container ID or NAMES]

#查看容器的使用资源状况
  docker



docker 开发如何管理代码 docker怎么管理,docker 开发如何管理代码 docker怎么管理_桥接_03,第3张

docker 开发如何管理代码 docker怎么管理,docker 开发如何管理代码 docker怎么管理_java_04,第4张

    2、查看容器日志



docker logs [OPTIONS] [container ID or NAMES]
  --details 显示更多的信息 
  -f, --follow 跟踪实时日志 
  --since string 显示自某个timestamp之后(2018-07-23 00:00:00)的日志,或相对时间,如42m(即42分钟) 
  --tail string 从日志末尾显示多少行日志, 默认是all 
  -t, --timestamps 显示时间戳 
  --until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)



    3、进入容器



docker exec -it [CONTAINER ID] bash



docker 开发如何管理代码 docker怎么管理,docker 开发如何管理代码 docker怎么管理_java_05,第5张

    进入容器后输入 exit 或者 [crtl + c] 即可退出容器。

三、终止容器

    1、直接删除容器



#删除终止状态的容器
docker rm [CONTAINER ID]
#删除所有处于终止状态的容器
docker prune
#删除未被使用的数据卷
docker volume prune
#删除运行中的容器
docker rm -f [CONTAINER ID]

#批量停止所有的容器
docker stop $(docker ps -a -q)
#批量删除所有的容器
docker rm $(docker ps -a -q)



    2、终止容器进程,容器进入终止状态(stopped)



docker stop [CONTAINER ID]



docker 开发如何管理代码 docker怎么管理,docker 开发如何管理代码 docker怎么管理_运维_06,第6张

四、容器的导出和导入

    1、容器的导出



#这样将导出容器快照到本地文件
docker export [CONTAINER ID] > [tar file]



    2、容器的导入



#从容器快照文件中再导入为镜像
cat [tar file] | docker import - [name:tag]



docker 开发如何管理代码 docker怎么管理,docker 开发如何管理代码 docker怎么管理_docker 开发如何管理代码_07,第7张

    docker import 来导入一个容器快照到本地镜像库时,将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),既然这样,那么 docker export 是不是可以考虑作为入侵时的现场保护呢?

 

 参考资料:《Docker — 从入门到实践》


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!