docker常用指令和options说明

发布时间 2023-06-24 10:22:51作者: 红酒人生

1、docker run运行容器以及容器资源

语法:docker run [options] image[:tag|digest] [command] [ags...]

docker run 命令必须指定一个容器镜像,可以设置镜像的一些默认值:

  • 前台还是后台运行;
  • 容器身份标识;
  • 网络设置;
  • 运行时对CPU和内存约束。

 

OPTIONS说明(常用):

--name="容器新名字": 为容器指定一个名称;
-d(detached): 后台运行容器,并返回容器ID,也即启动守护式容器;
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-P: 随机端口映射;
-p: 指定端口映射,有以下四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort

 

 

图1表示的是交互式启动ubuntu,后面的16.04是指在本地存在多个版本的镜像时,必须添加tag。

交互式运行的特点是:进入到容器了,如果运行的是ubuntu,则说明进入到Ubuntu系统里面了。

而如果使用图2的命令则表示后台运行。

后台运行:当你运行Docker容器的时候你需要决定是要在后台运行还是默认前台运行,当你选择后台运行时会在命令执行后打印出最新运行的容器ID。想要让你的容器以后台方式运行只需要在使用参数-d=true或者-d即可。

为容器指定一个名字,docker run -d --name=ubuntu_server ubuntu:16.04

2. 列出当前所有正在运行的容器:

命令如下:

docker ps [options]

OPTIONS说明(常用):

-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n:显示最近n个创建的容器。
-q :静默模式,只显示容器编号。
 

命令如下:

docker ps [options]

OPTIONS说明(常用):

-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n:显示最近n个创建的容器。
-q :静默模式,只显示容器编号。
 

 

3. 进入容器:

如果是后台进程,比如说是上图中的Ubuntu,如何进入到里面呢?此时的ubuntu和python都是后台运行

 

 

下面给大家介绍下进入容器的两种方式:

方式一:

docker attach 容器ID

通过docker ps我们可以看到第一列就是container id,其实就是容器ID。但使用该命令有一个问题。当多个窗口同时使用该命令进入该容器时,所有的窗口都会同步显示。如果有一个窗口阻塞了,那么其他窗口也无法再进行操作。比如:

 

下面给大家介绍下进入容器的两种方式:

方式一:

docker attach 容器ID

通过docker ps我们可以看到第一列就是container id,其实就是容器ID。但使用该命令有一个问题。当多个窗口同时使用该命令进入该容器时,所有的窗口都会同步显示。如果有一个窗口阻塞了,那么其他窗口也无法再进行操作。比如:

 

 

这个就是阻塞状态。

方式二:使用docker exec进入Docker容器,它主要表示:启动容器并切换到当前桌面

这种方式相对更简单(最优)

docker exec -it 容器ID /bin/bash

 

 

4.退出容器

退出容器的方式有两种:

在已经进入的容器中输入exit,但是此时容器就会自动关闭

 

 

另外还有一种退出而不关闭的方式是:ctrl+P+Q

 

 

如果没有在容器里面,在外面想关闭一个容器可以使用stop 或者 kill

停止一个容器:
docker stop 容器ID
强制停止容器:
docker kill 容器id或者名

 

5.其他命令:

查看容器日志
docker logs [-f -t] 容器id

查看容器内运行的进程
docker top 容器ID

查看容器内部细节
docker inspect 容器ID