Docker入门指南:Docker容器的使用(三)

🍀 前言

博客地址:

👋 简介

在本章节中,将深入探讨 Docker 容器的概念,以及容器的使用。

📖 正文

1 什么是容器

1.1 Docker容器的介绍

Docker 容器是 Docker 平台上运行的轻量级、独立且可移植的软件包,用于打包应用程序及其所有依赖项、配置和运行时环境。容器化技术使得应用程序能够在一个隔离的环境中运行,而不会受到底层操作系统和硬件的影响。容器是从 Docker 镜像创建的实例,类似于对象是从类创建的实例。每个容器都是相互隔离的、独立运行的进程,具有自己的文件系统、进程空间和网络接口。容器之间相互隔离,不会相互干扰,因此可以在同一主机上同时运行多个容器,每个容器都可以承载一个独立的应用程序。

1.2 Docker容器的特点
  • 可移植性:容器可以在任何支持 Docker 的平台上运行,无论是开发环境、测试环境还是生产环境。容器在不同的环境中具有相同的行为,因此可以轻松地将应用程序从一个环境迁移到另一个环境。
  • 隔离性:容器使用 Linux 内核的命名空间和控制组特性来实现进程隔离、文件系统隔离、网络隔离和资源隔离。这使得容器之间相互隔离,不会相互干扰,提高了安全性和可靠性。
  • 可管理性:容器可以通过 Docker CLI 或图形界面工具进行管理。可以方便地创建、启动、停止、重启和删除容器,以及查看和监控容器的状态和日志。
  • 可复制性:容器可以通过 Docker 镜像进行复制和分发,从而实现应用程序的快速部署和交付。镜像定义了容器所需的所有文件和配置,因此可以轻松地创建多个相同的容器实例。

2 启动容器

docker run IMAGE:TAG
参数说明:

  • IMAGE:镜像名称;
  • TAG:标签,镜像版本号。

以启动Jenkins为例
docker run -d -u root -p 8080:8080 -p 50000:50000 -v \e\my_jenkins\jenkins_home:/docker/jenkins --name myJenkins jenkins/jenkins:lts-jdk17
image.png
参数说明:

  • docker run:允许Docker容器命令;
  • -d:在后台运行容器;
  • -u root:以root用户身份运行容器,通常用于确保容器内的进程具有足够的权限执行需要的操作;
  • -p 8080:8080:将容器内部的 8080 端口映射到宿主机的 8080 端口。Jenkins 服务通常在 8080 端口上运行;
  • -p 50000:50000: 将容器内部的 50000 端口映射到宿主机的 50000 端口。这是 Jenkins 使用的用于构建和执行任务的端口。
  • -v \e\my_jenkins\jenkins_home:/docker/jenkins:将宿主机上的目录D:\my_jenkins\jenkins_home挂载到容器内的/docker/jenkins目录,这样可以确保Jenkins数据和配置持久化,即使容器被删除,数据仍然保留在宿主机上,
  • --name myJenkins:给容器指定一个名称
  • jenkins/jenkins:lts-jdk17:指定要运行的 Docker 镜像的名称和版本。在这里,使用的是 Jenkins 的 LTS 版本,内部使用的 JDK 17。

3 查看容器

  • docker ps : 查看正在运行中的容器;
  • docker ps -a : 查看所有容器,包括运行中的、已经停止运行的容器。

通过命令查看,启动的jenkins已经成功了
image.png
字段说明:

  • CONTAINER ID: 容器 ID;
  • IMAGE:创建容器时使用的镜像;
  • COMMAND:容器最后运行的命令;
  • CREATED:容器创建时间;
  • STATUS: 容器状态;
  • PORTS:端口信息;
  • NAMES:容器名:和容器 ID 一样,可以标识容器的唯一性,同一台宿主机上不允许有同名容器存在,否则会冲。

4 进入容器

docker exec -it [container ID or NAMES]
通过容器ID或者容器名称进入
比如,根据容器ID进入mysql的容器docker exec -it 0d9c8040112a /bin/bashmysql -uroot -p登录mysqlimage.png
通过使用exit退出mysql,回到mysql容器后,再通过exit退出mysql容器
image.png

5 停止容器

5.1 正常停止

docker container stop [container ID or NAMES]
简写模式,可省略关键字container
docker stop [container ID or NAMES]

5.2 强制停止

docker container kill [container ID or NAMES]
简写模式,可省略关键字 container )
docker kill [container ID or NAMES]

5.3 运行已停止的容器

docker container strat [container ID or NAMES]
简写模式,可省略关键字 container )
docker strat [container ID or NAMES]

6 重启容器

docker restart [container ID or NAMES]
不管容器是否启动,直接重启
参数:

  • -t:表示限时多少秒关闭容器,然后重启,如:docker restart 330635813b68

7 导出导入容器

7.1 导出容器

docker export
比如导出Jenkins容器,docker export 330635813b68 > jenkins.tar
image.png

7.2 导入容器

docker import
将导出的Jenkins容器,通过cat jenkins.tar | docker import - test/jenkins:v1.0进行导入image.png

8 删除容器

docker container rm [container ID or NAMES]
简写模式,可省略关键字 container
docker rm [container ID or NAMES]
如果需要删除所有已经停止的容器,可以通过
docker container prune进行删除

✏ 总结

Docker 容器是现代应用程序交付和部署的一种重要方式。它们提供了更高效、可移植和可扩展的应用程序运行环境,使得开发者能够更快速地构建、交付和运行应用程序,同时简化了应用程序的依赖管理和环境配置。

💖 欢迎我的关注公众号

在这里插入图片描述

  • 52
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值