【Docker】基础运维命令

简介: 基础运维命令

一、本地镜像管理

docker load加载本地tar镜像

image.png

--input , -i : 指定导入的文件,代替 STDIN

--quiet , -q : 精简输出信息。

两种常用的加载命令

[root@master images]# docker load -i httpd_2.2.31.tar 
b6ca02dfe5e6: Loading layer [==================================================>]  128.9MB/128.9MB
3c83ee2bca50: Loading layer [==================================================>]   2.56kB/2.56kB
557b74aa3e87: Loading layer [==================================================>]  43.54MB/43.54MB
65c42200fe66: Loading layer [==================================================>]  6.129MB/6.129MB
e6ab5c565ca5: Loading layer [==================================================>]  3.584kB/3.584kB
Loaded image: httpd:2.2.31
[root@master images]# docker load < httpd_2.2.32.tar 
0d960f1d4fba: Loading layer [==================================================>]  129.3MB/129.3MB
765c3a355e02: Loading layer [==================================================>]   2.56kB/2.56kB
e448038fb71a: Loading layer [==================================================>]  43.84MB/43.84MB
daed15381ba8: Loading layer [==================================================>]  6.897MB/6.897MB
05cb14f2b844: Loading layer [==================================================>]  3.584kB/3.584kB
Loaded image: httpd:2.2.32

 

 

docker rmi 删除镜像

image.png

-f :强制删除;

--no-prune :不移除该镜像的过程镜像,默认移除;

[root@master images]# docker rmi httpd:2.2.31
Untagged: httpd:2.2.31
Deleted: sha256:c8a7fb36e3abfc42f15f2a2a9293f1768a5b568fd7ac51546f0055e399c29aef
Deleted: sha256:143756fb097f1123c96140b6e48e8ae1062ad4493c1cd6874d430118089517a5
Deleted: sha256:53e8f80ab9b50b00e27dd9376818098feccd7bfdd7f084ff10aca478c90e14ea
Deleted: sha256:ac93bbe4ce702e11125f10d20d764b02ed95e4f6521e4a2073ad908069ce21c4
Deleted: sha256:15bee5ebaa7ede5c10e9c1bd24388c2b6b2e50f9006f39ad88a84de554ec58e4
Deleted: sha256:b6ca02dfe5e62c58dacb1dec16eb42ed35761c15562485f9da9364bb7c90b9b3


docker images 列出本地镜像

image.png

-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);

--digests :显示镜像的摘要信息;

-f :显示满足条件的镜像;

--format :指定返回值的模板文件;

--no-trunc :显示完整的镜像信息;

-q :只显示镜像ID

 

[root@master images]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
busybox             latest              020584afccce        2 months ago        1.22MB
nginx               latest              540a289bab6c        2 months ago        126MB


 

 

docker tag标记镜像

image.png

 

[root@master images]# docker tag nginx:latest master/nginx:test
[root@master images]# docker images master/nginx
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
master/nginx        test                540a289bab6c        2 months ago        126MB

 

 

 

二、镜像仓库操作

docker pull 拉取镜像

image.png

 

[root@slave ~]# docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
804555ee0376: Pull complete 
c53bab458734: Pull complete 
7def2a4ede73: Pull complete 
Digest: sha256:f1df505c4c6e8eae599a0482e3bde3e761cd700c00cbc371a8161648a26817c0
Status: Downloaded newer image for mysql:latest

 

 

docker search在线搜索镜像

image.png

 

[root@slave ~]# docker search httpd-cgi
NAME                 DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
hypoport/httpd-cgi   httpd-cgi                                       0                                       [OK]
actilis/httpd-cgi    HTTPD server with CGI support, based on Alpi…   0                                       [OK]
nasoym/httpd-cgi     httpd-cgi                                       0                                       [OK]

 

 

docker push 推送镜像到仓库

image.png

 

[root@master images]# docker tag httpd:2.2.32 192.168.1.10:5000/httpd:test
#标记httpd镜像并push推送
[root@master images]# docker push 192.168.1.10:5000/httpd:test
The push refers to repository [192.168.1.10:5000/httpd]
05cb14f2b844: Pushed 
daed15381ba8: Pushed 
0d960f1d4fba: Pushed 
test: digest: sha256:ccc05ac5eee03d1a95d249b7c4a3366f68c38fdf9f877a53abcb9bd25e441496 size: 1366

 

 

三、容器使用管理

docker run运行容器

-d: 后台运行容器,并返回容器ID

-i: 以交互模式运行容器,通常与 -t 同时使用;

-P: 随机端口映射,容器内部端口随机映射到主机的高端口

-p: 指定端口映射,格式为:主机(宿主)端口:容器端口

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

-rm:容器退出后随之将其删除,可以避免浪费空间。

--name="nginx": 为容器指定一个名称;

--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;

--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;

-h "hostname": 指定容器的hostname

-e username="admin": 设置环境变量;

--env-file=[]: 从指定文件读入环境变量;

--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;

-m :设置容器使用内存最大值;

--net="bridge": 指定容器的网络连接类型,支持bridge/host/none/container: 四种类型;

--link=[]: 添加链接到另一个容器;

--expose=[]: 开放一个端口或一组端口;

--volume , -v: 绑定一个卷,挂载本地文件到容器目录

 

[root@master images]# docker run -it -d -p 800:80 --name tyh-nginx nginx:latest
fac10822e29f05d9a92f038d1057229003d85459108856bfc9e4d9f524e24dcb

测试访问

image.jpeg

 

 

docker exec 进入容器

image.png

-d :分离模式: 在后台运行

-i :即使没有附加也保持STDIN 打开

-t :分配一个终端

 

[root@master /]# docker run -it -d -p 888:80 -v /html:/usr/share/nginx/html --name tyh2-nginx nginx:latest
b1bd7b4523214bee72de5aa003c06a064fa0f8053999fa7c49a3e2dc62baefef

#开启一个容器nginx,端口映射外部888,将外部的网页目录挂到容器的目录

[root@master images]# docker exec -it tyh2-nginx bash

#进入容器,查看nginx网页目录

root@ b1bd7b452321:/# id
uid=0(root) gid=0(root) groups=0(root)
root@b1bd7b452321:/# ls -l /usr/share/nginx/html/
total 456
drwxr-xr-x 20 root root   4096 Jan 17 20:37  alipay
drwxr-xr-x  5 root root   100 Jan 17 20:37  alipay2
drwxr-xr-x  2 root root      6 Jan 17 20:37  alipayobject
-rw-r--r--  1 root root   689 Jan 17 20:37  iisstart.htm
-rw-r--r--  1 root root 255252 Jan 17 20:37  index.html
-rw-r--r--  1 root root 184946 Jan 17 20:37  welcome.png

 

访问效果

image.jpeg

 

docker ps 查看容器进程

image.jpeg

-a :显示所有的容器,包括未运行的。

-f :根据条件过滤显示的内容。

--format :指定返回值的模板文件。

-l :显示最近创建的容器。

-n :列出最近创建的n个容器。

--no-trunc :不截断输出。

-q :静默模式,只显示容器编号。

-s :显示总的文件大小。

 

[root@master images]# docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
6adf06865702        nginx:latest        "nginx -g 'daemon of…"   5 minutes ago       Up 2 minutes        0.0.0.0:800->80/tcp      tyh-nginx
66df904e9c22        registry:latest     "/entrypoint.sh /etc…"   4 hours ago         Up 4 hours          0.0.0.0:5000->5000/tcp   registry


 

 

docker start/stop/restart 容器启动/停止/重启

image.png

 

 

 

docker stats/inspect 查看容器资源情况/容器信息

image.jpeg

 

 

docker rm 删除容器

image.png

需先停止容器运行再执行删除

-f 可强制删除

 

 

docker export/inport 导出导入容器

#导出容器快照

[root@master /]# docker export tyh3-nginx > tyh-nginx.tar

#导入容器镜像

[root@slave ~]# docker import tyh-nginx.tar tyh3-nginx
sha256:c04782dfa85e8a08fe88e258f6419a0aa87469e73f0adc8d73c62a72fd07b183
[root@slave ~]# docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
tyh3-nginx                 latest              c04782dfa85e        7 seconds ago       125MB

 

 

docker commit 容器构建为镜像

[root@master /]# docker commit -a "tao" -m "for the test" tyh3-nginx test:1
sha256:4404059a3d6ded6f62b1532e0278a938a7998ac7dc8c36e6bd7d27f49d1e13b1
[root@master /]# docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
test                      1                   4404059a3d6d        7 seconds ago       126MB
相关文章
|
27天前
|
运维 监控 Docker
构建高效微服务架构:从理论到实践构建高效自动化运维体系:Ansible与Docker的完美融合
【5月更文挑战第31天】 在当今软件开发的世界中,微服务架构已经成为了实现可伸缩、灵活且容错的系统的关键策略。本文将深入探讨如何从零开始构建一个高效的微服务系统,涵盖从概念理解、设计原则到具体实施步骤。我们将重点讨论微服务设计的最佳实践、常用的技术栈选择、以及如何克服常见的挑战,包括服务划分、数据一致性、服务发现和网络通信等。通过实际案例分析,本文旨在为开发者提供一套实用的指南,帮助他们构建出既健壮又易于维护的微服务系统。
|
1月前
|
运维 监控 安全
构建高效自动化运维体系:Ansible与Docker的协同实战
【5月更文挑战第25天】 在当今快速迭代的软件发布环境中,自动化运维成为确保部署效率和可靠性的关键。本文通过深入分析Ansible和Docker技术,探索它们如何协同工作以构建一个高效的自动化运维体系。文章不仅介绍了Ansible的配置管理功能和Docker容器化的优势,还详细阐述了将两者结合的实践策略,旨在帮助读者理解并实现更智能、更灵活的基础设施管理。
|
10天前
|
Docker 容器
docker network inspect 查询出来的网络的创建命令是什么
【6月更文挑战第17天】docker network inspect 查询出来的网络的创建命令是什么
18 1
|
15天前
|
Ubuntu 应用服务中间件 Linux
Docker基本操作命令
Docker 允许用户基于现有的容器或通过 Dockerfile 自定义镜像。Dockerfile 是一个文本文件,包含了创建镜像所需的所有命令。 命令: docker build [OPTIONS] PATH PATH:Dockerfile 所在的路径 OPTIONS:构建过程中的可选参数,如 -t 用于标记镜像名和标签 例如,使用当前目录的 Dockerfile 来构建镜像,并标记为 my_image:latest: docker build -t my_image:latest . 以上是 Docker 基础命令的简介,通过这些命令,你可以开始探索 Docker 的强大功能,并将其
34 2
|
20天前
|
Shell Docker 容器
深入探索Docker容器管理:常用命令一览(1)
深入探索Docker容器管理:常用命令一览(1)
|
24天前
|
运维 Linux Shell
运维:Linux服务器崩了怎么办,快来看看这份”急救命令指南“吧!
当服务器出现问题,如崩溃、内存耗尽或CPU使用率过高时,运维工程师需要保持冷静,并通过一系列Shell命令来诊断和解决。首先,检查是否有异常SSH登录活动,查看`/etc/passwd`和`.bash_history`文件,以及用户最近的登录信息。接着,监控网络连接和端口,使用`netstat`和`lsof`命令找出资源占用高的进程,并查看进程启动时间和详细信息。同时,排查可能的恶意文件,检查定时任务和服务配置以确保没有异常启动项。最后,分析系统日志,如`/var/log`目录下的各种日志文件,找出潜在问题。通过这些步骤,可以有效定位和解决服务器故障。
|
28天前
|
运维 Kubernetes 持续交付
构建高效自动化运维体系:基于Docker和Kubernetes的实践
【5月更文挑战第30天】 在当今的快速迭代和持续部署的软件发布环境中,自动化运维的重要性愈发凸显。本文旨在探讨如何利用容器化技术与微服务架构,特别是Docker和Kubernetes,来构建一个高效、可伸缩且自愈的自动化运维体系。通过详细分析容器化的优势及Kubernetes的集群管理机制,文章将提供一个清晰的指南,帮助读者理解并实现现代软件部署的最佳实践。
|
30天前
|
运维 监控 安全
构建高效自动化运维体系:Ansible与Docker的完美结合
【5月更文挑战第28天】 在当今快速演变的IT环境中,自动化已成为维护系统稳定性与提高效率的关键。本文将探讨如何通过结合Ansible和Docker技术构建一个高效的自动化运维体系。文章不仅介绍两者的基本概念,还详细阐述了集成实践,以及通过真实案例分析其优势和潜在挑战,旨在为读者提供一套可行的解决方案,以优化他们的DevOps流程。
|
1月前
|
运维 安全 持续交付
构建高效自动化运维体系:Ansible与Docker的协同实践
【5月更文挑战第27天】在当今IT基础设施管理领域,自动化和微服务架构日益成为提高效率和响应速度的关键。本文将探讨如何通过结合Ansible和Docker技术,打造一套既灵活又可靠的自动化运维体系,实现持续集成、持续部署以及自动化管理。文章不仅介绍了相关技术的核心概念,还提供了实际案例分析,以期给运维专业人士提供参考,帮助他们优化现有的运维流程。
|
1月前
|
运维 监控 数据安全/隐私保护
构建高效自动化运维体系:Ansible与Docker的协同实践
【5月更文挑战第27天】 在现代IT基础设施管理领域,自动化运维已经成为提升效率、确保一致性和降低人为错误的关键手段。本文将深入探讨如何通过结合Ansible和Docker技术,构建一个灵活且高效的自动化运维体系。不同于传统摘要的概括性描述,我们将直接切入主题,展示这两个工具如何在实际场景中相互补充,实现配置管理、部署流程的自动化,以及如何处理复杂环境中的运维挑战。通过阅读本文,读者可以获得对自动化运维实践中关键技术选择和应用的深刻见解。