docker生命周期管理和镜像管理命令详解
作者:恒悦sunsite
一、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镜像管理命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!