systemctl start docker
systemctl stop docker
systemctl restart docker
systemctl status docker
systemctl enable docker
docker info
docker --help
docker 具体命令 --help
docker images
docker search 镜像名
例如:docker search redis(查找redis的镜像),docker search --limit 5 redis(只列出前5个镜像)
docker pull 镜像名
例如:docker pull redis(下载最新版的redis),docker pull redis:6.0.8(下载6.0.8版本的redis)
docker rmi -f 镜像名或镜像ID
docker system df
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,有的需要与容器交互,有的只需要在后台运行即可。
docker ps [options]
options:①-a:列出当前所有正在运行的容器和历史上运行过的;②-l:显示最近创建的容器;③-n:显示最近创建的n个容器;④-q:只显示容器编号
①输入exit:退出容器,容器停止
②快捷键ctrl+p+q:退出容器,容器不停止
docker stop 容器ID或容器名
docker start 容器ID或容器名
docker restart 容器ID或容器名
docker kill 容器ID或容器名
docker rm [-f] 容器ID或容器名
-f:强制删除。如果不用-f,需要先停止容器再删除
docker logs 容器ID
docker top 容器ID
docker inspect 容器ID
当使用快捷键ctrl+p+q退出容器后,想重新进入该容器进行交互,可以使用下面的命令:
docker exec -it 容器ID /bin/bash
exec是在容器中打开新的终端,并且可以启动新的进程;用exit退出,不会导致容器的停止。(常用)
docker attach 容器ID
attach直接进入容器启动命令的终端,不会启动新的进程;用exit退出,会导致容器的停止。
将容器内的文件拷贝到主机上
docker cp 容器ID:容器内文件的路径 目的主机路径
例如:启动了一个centos的容器实例,将centos操作系统中 / 目录下的 a.txt文件导出到本地主机的 /usr目录上,则命令为:docker cp id:/a.txt /usr(该命令是在本地主机执行,不是在centos操作系统中执行)
①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