容器编排系列:(二) docker的基本操作1

本文介绍了在CentOS7系统中进行Docker的基本操作,澄清了容器与虚拟机的区别,并提供了Hello World示例。文章分为容器周期管理和镜像管理两大命令类别,引导读者入门Docker。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

       在上一篇文章(文章传送虫洞)中讲述了怎么安装docker,本篇文件将给大家演示在centos7系统中docker的一些基本操作与注意事项。很多人把容器误解为虚拟机,其实我们可以浅显的理解为:容器就是一个运行在系统中的进程。

容器(左)与虚拟机(右)的架构对比图

  

本文转自我个人的公众号:天目星,请大家多多关注。

 

一、基本命令

先来个Hello World 吧

# Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

$ docker run centos:7.6.1810 /bin/echo "Hello world"
Hello world

PS:完成“hello world”的输出后,此容器自动退出

docker 命令集分类

1)容器周期管理

# Docker [run|create]

# 创建一个nginx的容器并启动它
$ docker run --name mynginx \
      -h ngtest -p 8080:80 -m 180m \
      --restart=always \
      -d nginx:stable

# 只创建一个nginx容器但不启动
$ docker create --name mynginx \
      -h ngtest -p 8080:80 -m 180m \
      --restart=always \
      -d nginx:stable

# 各个参数的意义
--name:自定义容器名称
--restart:设置容器是否跟随docker服务自启动
--link:添加链接到另一个容器,例如需要链接到mysql时
-h:自定义容器hostname
-p:自定义端口映射,格式为:宿主机端口:容器端口
-m:设置容器可使用的内存最大值
-v:持久化卷绑定,格式为:宿主机或外设存储路径:容器内部路径
-d:设置容器后台启动,并返回容器ID
nginx:stable 使用的docker images名称
# Docker [start|stop|restart]

# 启动容器,可以使用自定义容器名或者容器的ID
# 思考一下run命令与start的区别
$ docker start mynginx

# 关闭容器
$ docker stop mynginx

# 重启容器
$ docker restart mynginx
# Docker [pause|unpause] 

# 暂停容器中的所有进程
$ docker pause mynginx

# 恢复容器中的所有进程
$ docker unpause mynginx
# Docker exec

# 在容器中执行命令
$ docker exec -it mynignx bash

-i:以交互模式运行容器
-t:为容器重新分配一个伪输入终端
-d:在后台运行
# docker [kill|rm]

# 杀掉运行中的容器
$ docker kill -s KILL mynginx
-s:向容器发送一个信号

# 删除容器
$ docker rm -f -v mynginx
-f:使用SIGKILL信号强制删除容器
-v:删除与容器关联的卷

# 删除容器A01到容器A02的连接,连接名为db01
$ docker rm -l db01
-l:移除容器间的网络连接,而非删除容器。

# 跑路大法,强制删除所有运行中的容器
$ docker rm -f $(docker ps -qa)

2)容器镜像管理

# Docker [login|logout]

# 登录官方镜像仓库
$ docker login -u xxx -p xxx
-u:登录的用户名
-p:登录的密码

# 登录本地仓库
$ docker login -u xxx -p xxx 192.168.0.10:8080

# 登出
$ docker logout
# Docker [search|pull|push]

# 查找镜像,其中OFFICIAL项标志为[OK]是docker的官方镜像
$ docker search nginx

# 拉取centos7.6.1810的官方镜像
$ docker pull centos:7.6.1810

# 上传镜像,需要配合docker login登录仓库后使用
$ docker push nginx:v587

$ docker push private.io/nginx:v587
# Docker [images|rmi]

# 列出本地所有镜像
$ docker images -a
-a:显示所有镜像(包括中间映像层,默认不显示)
-q:只显示镜像的ID
--digests:显示镜像的摘要信息
--no-trunc:显示完整的镜像信息

# 删除本地镜像
$ docker rmi nginx
-f:强制删除
--no-prune:不显示删除镜像的过程

# 删除多个镜像
$ docker rmi nginx centos:7.6.1810
# Docker tag

# 标记本地镜像,将其归入相关的仓库(需理解)。
$ docker tag nginx:stable private.io/nginx:v587
# Docker [build|history]

# 在空目录中新建Dockerfile文件,并配置好构建参数
$ docker build -t nginx:v587 . 
-t:自定义构建的标签名

# build命令知识比较多,另外开篇说明

# 查看指定镜像的创建历史
$ docker history nginx:v587
--no-trunc:显示完整的创建记录
# Docker [save|load]
# 了解与Docker [import|export]的区别(需理解)

# 将nginx的镜像保存为tar文件
$ docker save -o /root/nginx-stable.tar nginx:stable
-o:输出文件

# 导入镜像文件
$ docker load -i /root/nginx-stable.tar
-i:指定导入的文件

  

   尾声:

            因篇幅有限,将在下期的《容器编排系列:(二) docker的基本操作2》中继续讲解docker的容器操作。


            

            投资必须是理性的。如果你不能理解它,就不要做。

            我们应集中关注将要发生什么,而不是什么时候发生。

            在别人恐惧时我贪婪,在别人贪婪时我恐惧。

                                                                                      ------ 巴菲特

            

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值