Docker学习(2)—— Docker命令

一. 启动类命令

1. 启动docker

systemctl start docker

2. 停止docker

systemctl stop docker

3. 重启docker:

systemctl restart docker

4. 查看docker状态

systemctl status docker

5. 开机启动

systemctl enable docker

6. 查看docker概要信息

docker info

7. 查看docker总体帮助文档

docker --help

8. 查看docker命令帮助文档

docker 具体命令 --help

二. 镜像命令

1. 列出本地主机上已有的镜像

docker images

2. 查找仓库中的某个镜像

docker search 镜像名

  例如:docker search redis(查找redis的镜像),docker search --limit 5 redis(只列出前5个镜像)

3. 下载镜像

docker pull 镜像名

  例如:docker pull redis(下载最新版的redis),docker pull redis:6.0.8(下载6.0.8版本的redis)

 4. 删除镜像

docker rmi -f 镜像名或镜像ID

5. 查看镜像、容器、数据卷所占用的空间

docker system df

三. 容器命令

1. 新建并启动容器

docker run [options] 镜像名 

options:① --name:为当前启动的容器指定一个名称;② -i:以交互模式运行容器;③ -t:为容器分配一个伪输入终端;④ -d:后台运行容器并返回容器ID,来启动后台守护式容器(后台运行);⑤ -P:随机端口映射;⑥-p:指定端口映射。  注意:-i和-t通常一起使用,-it来启动前台交互式容器

例子:(1)docker run -it centos /bin/bash:生成一个centos的容器实例,该容器的名字由系统随机生成,即在docker里生成一个centos操作系统,并且由于有-it,会有centos操作系统的终端,就可以使用新生成的centos操作系统,相当于可以在docker里生成并操作centos操作系统;想退出centos,输入exit命令。(2)docker run -it --name=linux centos /bin/bash:新生成一个centos的容器实例,并将该名字容器的名字设置为linux。(3)docker run -d redis:生成一个redis的容器,并让redis在后台运行。

注意:①可以为同一个镜像生成多个容器;②根据不同需求来使用-it和-d,有的需要与容器交互,有的只需要在后台运行即可。

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

docker ps [options]

options:①-a:列出当前所有正在运行的容器和历史上运行过的;②-l:显示最近创建的容器;③-n:显示最近创建的n个容器;④-q:只显示容器编号

3. 退出容器

    ①输入exit:退出容器,容器停止

    ②快捷键ctrl+p+q:退出容器,容器不停止

4. 停止容器

docker stop 容器ID或容器名

5. 启动已停止运行的容器

docker start 容器ID或容器名

6. 重启容器

docker restart 容器ID或容器名

7. 强制停止容器

docker kill 容器ID或容器名

8. 删除已停止的容器

docker rm [-f] 容器ID或容器名

  -f:强制删除。如果不用-f,需要先停止容器再删除

9. 查看容器日志

docker logs 容器ID

10. 查看容器内运行的进程

docker top 容器ID

11. 查看容器内部细节

docker inspect 容器ID

12. 进入正在运行的容器并以命令行交互

当使用快捷键ctrl+p+q退出容器后,想重新进入该容器进行交互,可以使用下面的命令: 

docker exec -it 容器ID /bin/bash

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

docker attach 容器ID

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

13.导出文件

将容器内的文件拷贝到主机上

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

例如:启动了一个centos的容器实例,将centos操作系统中 / 目录下的 a.txt文件导出到本地主机的 /usr目录上,则命令为:docker cp id:/a.txt /usr(该命令是在本地主机执行,不是在centos操作系统中执行)

14. 导入和导出容器

①export:将整个容器作为一个tar包导出到主机上

docker export 容器ID > 文件名.tar

例如:启动了一个centos的容器实例,将整个centos操作系统以tar包的形式导出到本地主机的 /usr目录上,则先进入到/usr目录(cd /usr),执行命令:docker export id > a.tar(该命令是在本地主机执行,不是在centos操作系统中执行) ,即将整个centos操作系统命名为a.tar导出到本地主机

②import:从tar包转化为一个镜像导入到docker中

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

例如:将上述本地/usr目录下的a.tar作为镜像导入到docker中,则先进入到/usr目录(cd /usr),执行命令:cat a.tar | docker import - root/centoslinux。(“镜像用户/镜像名:镜像版本号”为自定义,其将作为镜像的名字存在于docker中)

然后查看镜像(docker images)可以发现该tar包作为root/centoslinux镜像存在于docker中,由于没有指定版本号,则TAG为latest

 之后可以像运行其他centos镜像一样来运行该镜像:docker run -it root/centoslinux /bin/bash

你可能感兴趣的:(Docker,Docker)