docker生命周期管理和镜像管理命令详解

 更新时间:2023年08月29日 11:37:35   作者:恒悦sunsite  
Docker通过容器技术提供了一种轻量级、快速部署和可移植的应用程序运行环境,极大地简化了应用程序的部署和管理过程,提高了开发和运维的效率,这篇文章主要介绍了docker生命周期管理和镜像管理命令,需要的朋友可以参考下

一、docker简介

  Docker是一个开源的容器化平台,用于构建、部署和管理应用程序。它使用容器技术来将应用程序及其依赖项打包为一个独立的可移植容器,可以在不同的环境中运行,而不需要依赖特定的操作系统或硬件。  Docker的主要特点包括:

  • 快速部署:Docker容器可以在几秒钟内启动,相比于传统的虚拟机技术,具有更快的启动速度和更小的资源消耗。
  • 轻量级:Docker容器共享主机操作系统的内核,因此可以更高效地利用系统资源,并且容器本身也比虚拟机映像更小巧。
  • 环境一致性:通过使用Docker容器,可以确保应用程序在不同的环境中具有一致的运行结果,避免了由于环境差异导致的问题。
  • 可移植性:Docker容器可以在不同的环境中运行,包括物理机、虚拟机、云服务器等,提供了更大的灵活性和可移植性。
  • 简化部署和管理:Docker提供了一套简单易用的命令行工具和API,可以方便地创建、部署和管理容器,大大简化了应用程序的部署和管理流程。

  总之,Docker通过容器技术提供了一种轻量级、快速部署和可移植的应用程序运行环境,极大地简化了应用程序的部署和管理过程,提高了开发和运维的效率。

二、docker生命周期管理命令

1、docker run创建一个容器并启动

  docker run命令是使用镜像创建一个容器并启动,使用-it参数以交换模式运行容器,创建后自动进入了容器,退出容器后容器停止运行。如果需要容器后台继续运行使用-itd参数。

[root@yws55 ~]# docker run -it --name rtest ubuntu:latest
root@55ea2b8cb24f:/# exit
[root@yws55 ~]# docker run -itd --name r3 ubuntu:latest
88749d15d10d5746dad7d0b9bb333adc8ea3cac4fd2b6cb8b8d68bea2955321d

2、docker create创建一个容器但不启动

  docker create创建容器和docker run参数几乎是一样的,区别就是一个创建后启动容器,而docker create创建容器后状态为created。

在这里插入图片描述

[root@yws55 ~]# docker create -it --name r2 ubuntu:latest
49f7e82c0bd8c2048983e8aca81b10c04274639a8cb25eea9575b860be50036e

3、docker start/stop/restart容器启停

  使用docker start启动一个已经创建好的容器,docker stop停止一个正在运行的容器,docker restart重启一个正在运行的容器。

[root@yws55 ~]# docker stop utest
utest
[root@yws55 ~]# docker start utest
utest
[root@yws55 ~]# docker restart utest
utest

4、docker kill杀死一个容器进程

  一般情况下我们使用docker stop正常停止容器运行就好了,只有在无法正常停止容器的情况下使用docker kill杀死容器进程的方式停止指定容器。

在这里插入图片描述

[root@yws55 ~]# docker kill utest
utest

5、docker rm删除容器

  如果容器正在运行则通过docker rm无法删除,可以使用-f参数强制删除,相当于先执行docker kill停止容器然后删除。

[root@yws55 ~]# docker rm rtest
rtest

6、docker pause/unpause暂停或者恢复容器运行

  docker pause可以暂停容器运行,暂停后容器无法提供服务和连接;使用docker unpause恢复后可以连接。

在这里插入图片描述

[root@yws55 ~]# docker pause utest
utest
[root@yws55 ~]# docker exec -it utest /bin/bash
Error response from daemon: Container utest is paused, unpause the container before exec
[root@yws55 ~]# docker unpause utest
utest
[root@yws55 ~]# docker exec -it utest /bin/bash
root@c4b4e6b8e891:/#

7、docker exec容器中执行命令

  docker exec命令用于在容器中执行命令,常用docker exec -it container_name /bin/bash登录一个容器。也使用使用-d参数后台执行命令,常用于执行容器中的shell脚本。

三、docker镜像管理命令

1、docker images查看镜像

  docker images可以查看本地的镜像,后面可以跟镜像类型查看指定类型的镜像,比如docker images ubuntu查看Ubuntu镜像。

[root@yws55 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu nginx 5fb077dc7894 4 weeks ago 181MB
ubuntu latest 08d22c0ceb15 4 months ago 77.8MB

2、docker search搜索镜像

  使用docker search可以在线搜索可以下载的镜像。

在这里插入图片描述

3、docker pull拉取镜像

  使用docker pull拉取镜像,命令格式为docker pull name[:TAG],默认拉取最新版镜像。

[root@yws55 ~]# docker pull mysql:latest
latest: Pulling from library/mysql
…
5baa702110e4: Pull complete
Digest: sha256:232936eb036d444045da2b87a90d48241c60b68b376caf509051cb6cffea6fdc
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest
[root@yws55 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest 041315a16183 40 hours ago 565MB

4、docker build创建镜像

  使用docker build命令可以创建一个镜像,这种方式的镜像是基于基础镜像创建一个满足自己需求的个性化镜像,如下例子根据Ubuntu最新镜像创建一个安装了vim命令的镜像。

在这里插入图片描述

5、docker history查看镜像创建记录

  docker history命令可以查看镜像的创建记录,如build方式创建的镜像可以看到镜像的下载、命令安装、环境设置等步骤的创建记录。

在这里插入图片描述

6、docker save保存镜像为归档文件

  我们可以docker save方式将docker镜像保存为tar包文件,此方式主要用于镜像文件的离线安装。

[root@yws55 home]# docker save -o /home/ubuntu.vim.tar ubuntu:vim
[root@yws55 home]# ll -h |grep ubuntu
-rw------- 1 root root 184M Jul 6 16:37 ubuntu.vim.tar

7、docker load导入归档文件镜像

  使用docker load可以导入归档文件镜像到本地镜像列表中,常用于镜像文件的离线安装。

[root@yws55 home]# docker load -i /home/ubuntu.vim.tar
Loaded image: ubuntu:vim

8、docker import从归档文件创建镜像

  使用docker import命令根据归档文件创建镜像,可以在tar包文件基础上创建新镜像。

[root@yws55 home]# docker import -m “install net-tools” -c “CMD apt-get install -y net-tools” /home/ubuntu.vim.tar ubuntu:vim_v2
sha256:8c1256bf76846461c50f4371c05e4b745014446d37560f20d1497ce403cac2b0
[root@yws55 home]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu vim_v2 8c1256bf7684 21 seconds ago 192MB

9、docker rmi删除镜像

  使用docker rmi可以删除不需要的镜像文件。

[root@yws55 home]# docker rmi ubuntu:vim
Untagged: ubuntu:vim
Deleted: sha256:a4194cac0dd51f5864847f78af9b3c5678841cc24677ecfe8b84ac1393365609

四、其他命令

1、docker version查看版本

  docker version命令可以查看docker系统的版本,包括客户端和服务端版本信息。

[root@yws55 ~]# docker version
Client: Docker Engine - Community
Version: 23.0.1
…
Server: Docker Engine - Community
Engine:
Version: 23.0.1

2、docker info查看docker系统信息

  docker info命令可以查看docker系统的基本信息,包括宿主机的操作系统类型;CPU、内存等资源信息;容器和镜像数量等信息。

[root@yws55 ~]# docker info
Server:
Containers: 2
Running: 1
Paused: 0
Stopped: 1
Images: 2
…
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.638GiB

到此这篇关于docker生命周期管理和镜像管理命令的文章就介绍到这了,更多相关docker镜像管理命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用docker环境变量动态配置nginx的问题小结

    使用docker环境变量动态配置nginx的问题小结

    这篇文章主要介绍了使用docker环境变量动态配置nginx,整个方案,采用的是通过docker run -e xxxx=xxx先往容器注入环境变量,然后进一步通过envsubst指令将环境变量写入到具体的文件当中,实现动态配置文件内容,需要的朋友可以参考下
    2022-06-06
  • 使用Docker安装和配置 MySQL 数据库的过程详解

    使用Docker安装和配置 MySQL 数据库的过程详解

    本文将介绍如何使用Docker来安装和配置MySQL数据库,以便在开发和测试环境中快速搭建MySQL实例,本文也是介绍两种方式进行分别是“使用镜像安装”、“使用Docker Compose安装”,感兴趣的朋友一起看看吧
    2023-12-12
  • docker 的java编译环境构建详细介绍

    docker 的java编译环境构建详细介绍

    这篇文章主要介绍了docker 的java编译环境构建详细介绍的相关资料,具有一定的参考价值,需要的朋友可以参考下
    2016-11-11
  • Docker volume使用详解及实例

    Docker volume使用详解及实例

    这篇文章主要介绍了Docker volume使用详解及实例的相关资料,并附简单实例,帮助大家学习参考,需要的朋友可以看下
    2016-11-11
  • docker-maven-plugin打包镜像并上传到私有仓库

    docker-maven-plugin打包镜像并上传到私有仓库

    本文主要介绍了docker-maven-plugin打包镜像并上传到私有仓库,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • docker-compose搭建prometheus+grafana+钉钉告警

    docker-compose搭建prometheus+grafana+钉钉告警

    本文主要介绍了docker-compose搭建prometheus+grafana+钉钉告警,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • docker配置node项目的实现步骤

    docker配置node项目的实现步骤

    本文主要介绍了docker配置node项目的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • docker内部容器之间的端口访问实现方法

    docker内部容器之间的端口访问实现方法

    alpine-client 与 alpine-server 两容器,前者访问后者监听之端口,以此探析 Docker 内部容器间端口访问机制,这篇文章主要介绍了如何实现docker内部容器之间的端口访问,需要的朋友可以参考下
    2024-04-04
  • 用docker部署RabbitMQ环境的详细介绍

    用docker部署RabbitMQ环境的详细介绍

    这篇文章主要介绍了用docker部署RabbitMQ环境,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • Docker Compose快速部署多容器服务实战的实例详解

    Docker Compose快速部署多容器服务实战的实例详解

    使用 Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具,本文给大家介绍Docker Compose快速部署多容器服务实战,感兴趣的朋友一起看看吧
    2022-02-02

最新评论