目录

一、容器操作常用命令

1、新建+启动容器

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

3、退出容器

4、启动已停止运行的容器

5、启动守护式容器(后台服务器)

6、查看容器日志

7、查看容器内运行的进程

8、查看容器内部细节

9、进入正在运行的容器并以命令行交互

10、从容器内拷贝文件到主机上

11、导入和导出容器

12、小总结


一、容器操作常用命令

1、新建+启动容器

docker  run  [OPTIONS]  IMAGE  [COMMAND]   [ARG...]

OPTIONS说明(常用):有些是一个减号,有些是两个减号

--name="容器新名字" 为容器指定一个名称;

-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);

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

-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用; 也即 启动交互式容器(前台有伪终端,等待交互) ;

-P: 随机 端口映射,大写P

-p: 指定 端口映射,小写p

docker 容器执行命令 docker 容器操作_容器

启动交互式容器(前台命令行)

docker  images
docker run -it hello-world  /bin/bash

docker 容器执行命令 docker 容器操作_linux_02

 参数说明:

  • -i: 交互式操作。
  • -t: 终端。
  • nginx : nginx 镜像。
  • /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。 要退出终端,直接输入 exit:

【补充】:

如果只想启动一个容器执行一个命令,执行完后直接删除该容器,只利用一次,可以用下面命令

#--rm参数可以自动删除,执行完ls命令直接删除该容器
docker run -it --rm --name mynginx2 nginx:latest ls   
docker ps -a

docker 容器执行命令 docker 容器操作_linux_03

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

# 列出当前所有正在运行的容器
docker  ps  [OPTIONS]

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

3、退出容器

# 两种退出方式
# 1、run进去容器,exit退出,容器停止
exit 

# 2、run进去容器,ctrl+p+q退出,容器不停止
ctrl+p+q


4、启动已停止运行的容器

# 启动已停止运行的容器
docker start 容器ID或者容器名

# 重启容器
docker restart 容器ID或者容器名

# 停止容器
docker stop 容器ID或者容器名

# 强制停止容器
docker kill 容器ID或容器名

# 删除已停止的容器
docker rm 容器ID

# 一次性删除多个容器实例
docker rm -rf $(docker ps -a -q)

docker ps -a -q | xargs docker rm

5、启动守护式容器(后台服务器)

#语法

docker run  -d  容器名

#使用-d指定容器的后台运行模式

docker run -it nginx   #前台交互式启动

docker 容器执行命令 docker 容器操作_linux_04

docker run -d nginx    #后台交互式启动

docker 容器执行命令 docker 容器操作_容器_05

6、查看容器日志

docker logs  容器ID

docker  ps
docker logs 1fe004cba747

docker 容器执行命令 docker 容器操作_使用_06

7、查看容器内运行的进程

docker  top  容器ID

docker ps
docker top 1fe004cba747

docker 容器执行命令 docker 容器操作_docker_07

8、查看容器内部细节

docker  inspect  容器ID

docker ps 
docker inspect 1fe004cba747

docker 容器执行命令 docker 容器操作_docker_08

9、进入正在运行的容器并以命令行交互

docker exec -it 容器ID  bashshell

docker ps 
docker exec -it 1fe004cba747 /bin/bash

docker 容器执行命令 docker 容器操作_容器_09

【attach和exec区别】:

1.attach 直接进入容器启动命令的终端,不会启动新的进程用exit退出,会导致容器的停止。

2. exec 是在容器中打开新的终端,并且可以启动新的进程用exit退出,不会导致容器的停止。

推荐大家使用docker exec 命令,因为退出容器终端,不会导致容器的停止。

使用不同的bashshell进入redis

docker  pull  redis
docker  run -itd  redis
docker  ps
docker exec -it f61a42121480 /bin/bash

docker 容器执行命令 docker 容器操作_docker 容器执行命令_10

docker 容器执行命令 docker 容器操作_容器_11

10、从容器内拷贝文件到主机上

容器 -> 主机

docker cp 容器ID:容器内路径 目的主机路径

 

docker 容器执行命令 docker 容器操作_使用_12

 公式: docker cp 容器 ID: 容器内路径 目的主机路径

11、导入和导出容器

Export 导出容器的内容留作为一个tar归档文件[对应import命令]

import 从tar 包中的内容创建一个新的文件系统在导入为镜像[对应export]

【案例】:

docker export 容器ID > 文件.tar

docker 容器执行命令 docker 容器操作_docker_13

 cat 文件名.tar | docker import -镜像用户/镜像名:镜像版本号

docker 容器执行命令 docker 容器操作_linux_14

12、小总结

docker 容器执行命令 docker 容器操作_使用_15

command

英文释义

中文释义

attach

Attach to a running container 

当前 shell 下 attach 连接指定运行镜像

build

Build an image from a Dockerfile

通过 Dockerfile 定制镜像

commit

Create a new image from a container changes

提交当前容器为新的镜像 

cp

Copy files/folders from the containers filesystem to the host path

从容器中拷贝指定文件或者目录到宿主机中

create

Create a new container

创建一个新的容器,同 run,但不启动容器

diff

Inspect changes on a container's filesystem

查看 docker 容器变化

events

Get real time events from the server

从 docker 服务获取容器实时事件

exports

Stream the contents of a container as a tar archive

导出容器的内容流作为一个 tar 归档文件[对应 import ]

history

Show the history of an image

展示一个镜像形成历史

images

List images

列出系统当前镜像

import

Create a new filesystem image from the contents of a tarball

从tar包中的内容创建一个新的文件系统映像[对应export]

info

Display system-wide information

显示系统相关信息

inspect

Return low-level information on a container

查看容器详细信息

kill

Kill a running container

kill 指定 docker 容器

load

Load an image from a tar archive

从一个 tar 包中加载一个镜像[对应 save]

login

Register or Login to the docker registry server

注册或者登陆一个 docker 源服务器

logout

Log out from a Docker registry server

从当前 Docker registry 退出 

port

Lookup the public-facing port which is NAT-ed to PRIVATE_PORT

查看映射端口对应的容器内部源端口

pause

Pause all processes within a container

暂停容器

ps

List containers

列出容器列表

pull

Pull an image or a repository from the docker registry server

从docker镜像源服务器拉取指定镜像或者库镜像 

push

Push an image or a repository to the docker registry server

推送指定镜像或者库镜像至docker源服务器

restart

Restart a running container

重启运行的容器

rm

Remove one or more containers

移除一个或者多个容器

rmi

Remove one or more images

移除一个或多个镜像[无容器使用该镜像才可删除,否则需删除相关容器才可继续或 -f 强制删除]

run

Run a command in a new container

创建一个新的容器并运行一个命令

save

Save an image to a tar archive

保存一个镜像为一个 tar 包[对应 load]

search

Search for an image on the Docker Hub

在 docker hub 中搜索镜像

start

Start a stopped containers

启动容器

stop

Stop a running containers 

停止容器

tag

Tag an image into a repository

给源中镜像打标签

top

Lookup the running processes of a container

查看容器中运行的进程信息

unpause

Unpause a paused container

取消暂停容器

version

Show the docker version information

查看 docker 版本号

wait

Block until a container stops, then print its exit code

截取容器停止时的退出状态值