Docker-生命周期管理命令

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们在上一章,讲了虚拟化,虚拟化是把硬件虚拟化,然后创建出来的虚拟机完全隔离,而Docker则是软件(内核)虚拟化,他的隔离性会低于虚拟机。我们将通过3-4周来讲解Docker相关内容,由于涉及到内容较多,就不一一列出来具体的细节,主要从以下几个方面来讲解:

Docker基本情况

Docker基本命令(本小节属于)

Dockerfile

Docker镜像

Docker仓库

Docker原理

Docker网络&存储&日志

Docker-Compose

Docker番外篇

前面我们经过4个小节我们介绍了docker的基本情况,包括什么是docker,docker的几种安装方式,docker的详细信息和目录介绍,最后介绍了daemon.json这个配置文件。下面的几个小节,我们将介绍docker的相关操作命令。

Docker容器的生命周期里分为五种状态,其分别代表着:

Created:容器已经被创建,容器所需的相关资源已经准备就绪,但容器中的程序还未处于运行状态。

Running:容器正在运行,也即容器中的应用正在运行。

Paused:容器已暂停,表示容器中的所有程序都处于暂停状态。

Stopped:容器处于停止状态,占用的资源和沙盒环境都依然存在,只是容器中的应用程序均已停止。

Deleted:容器已删除,相关占用的资源及存储在Docker中的管理信息也都已释放和移除。

这里我们其实最常用的状态就是Running和Stopped,其他使用相对较少。

图片

此图来源于互联网

容器生命周期命令

docker create : 创建一个新的容器但不启动它(一般不单独使用)。

[root@localhost ~]# docker create 192.168.31.43:5000/centos:7
4635cab4613b7b210315de4f999470fe1c55b71f35b63816b8a0967a7e1ce96f
[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE                         COMMAND                  CREATED         STATUS    PORTS     NAMES
4635cab4613b   192.168.31.43:5000/centos:7   "/docker-entrypoint.…"   3 seconds ago   Created        blissful_hermann 

docker start : 启动一个或多个已经被停止的容器

docker run : 创建一个新的容器并启动它(等于cerate+start)(使用最多)。

图片

docker kill : 杀掉一个运行中的容器(类似kill -9)。

docker stop : 停止一个运行中的容器(类似先执行kill ,如果未成功再执行kill -9)。

docker restart : 重启容器。

docker rm : 删除一个或多个容器,如果运行中的容器需要加一个参数 -f才能删除。

docker pause : 暂停容器中所有的进程。

docker unpause : 恢复容器中所有的进程。

docker run docker run里面最重要的命令之一,因为他是创建容器最常使用的命令,如果创建容器使用的镜像不存在,会先下载镜像。

-i        保持标准输入打开,允许用户输入命令。

-t        分配一个伪终端,使得用户可以在容器中看到输出并进行交互。

-it        创建容器并进入容器。

一般情况下-it都会放置在一起使用,这里没有解释前台和后台的问题,这个问题哦我们稍后单独来讲。

-d        后台运行。

--rm        退出时删除容器。

--restart=always        docker 服务重启以后,容器是否会自动启动,如果不加这个参数则默认不会启动。

-h        容器主机名。

--name        容器的名字。

-e        环境变量,后面需要注入具体环境变量,比如:-e a=b。

-v        文件或者目录挂载,避免容器删除数据丢失。如果本地目录不存在,则会创建对应名字的目录。

-p        端口映射,把容器的端口暴露到主机对应的端口,比如-p 800:80(前面是主机端口,后面是容器端口)。

当然,这里的参数只是我比较常用的,其实还有更多的参数,这里并没有讲。而且这里的参数有些可以有多个,比如-v 和 -p等。​​​​​​​

docker run \
-d \
--name nginx \
-p 80:80 \
-v /tmp:/tmp \
--restart=always \
192.168.31.43:5000/nginx

这个命令的意思启动一个容器,具有下面的属性:后台运行,指定容器的名字为name,服务器80端口映射到容器内部80端口,服务器的/tmp目录映射到容器内部/tmp目录,容器会随着docker服务启动自动启动容器,使用的镜像名字。

图片

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值