docker命令大全: https://www.runoob.com/docker/docker-command-manual.html
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
Docker 容器通过 Docker 镜像来创建。
容器与镜像的关系类似于面向对象编程中的对象与类。
Docker | 面向对象 |
---|---|
容器 | 对象 |
镜像 | 类 |
Docker 镜像(Images) | Docker 镜像是用于创建 Docker 容器的模板。 |
Docker 容器(Container) | 容器是独立运行的一个或一组应用。 |
Docker 客户端(Client) | Docker 客户端通过命令行或者其他工具使用 Docker API (https://docs.docker.com/reference/api/docker_remote_api) 与 Docker 的守护进程通信。 |
Docker 主机(Host) | 一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。【运行Docker容器的主机】 |
Docker 仓库(Registry) | Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。 Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。
|
Docker Machine | Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。 |
搜索镜像:
docker search nginx
拉取镜像
docker pull nginx
启动容器:
docker start nginx
停止容器:
docker stop nginx
删除容器:
docker rm nginx
如果要重新载入 NGINX 可以使用以下命令发送 HUP 信号到容器:
$ docker kill -s HUP container-name
重启 NGINX 容器命令:
$ docker restart container-name
查看运行中的容器列表:
docker ps
查看所有容器列表:
docker ps -a
查看安装的镜像:
docker images docker images nginx
//查看所有的镜像
docker images
//查看以centos前缀的所有镜像
docker images centos*
容器重命名:
docker rename 原容器名 新容器名
进入容器nginx: nginx替换成xx容器名称即可
docker exec -it nginx /bin/bash
输入exit 可以跳出容器。
镜像和容器的导入与导出:
镜像 导出和导入
docker save -o <保存路径> <镜像名称:标签>
docker save -o ./ubuntu18.tar ubuntu:18.04
把A机当前文件夹下的ubuntu18.tar拷贝到另一台安装过docker的B机上,在B机上导入镜像
docker load --input ./ubuntu18.tar
使用docker镜像ubuntu18以后台模式启动一个容器,并将容器命名为myubuntu18。
docker run --name [容器] -d [镜像]
docker run --name myubuntu18 -d ubuntu18
docker restart myubuntu18 【重启容器】
容器 导出和导入
docker export <容器名> > <保存路径>
docker export ubuntu18 > ./ubuntu18.tar
docker import <文件路径> <容器名>
docker import ./ubuntu18.tar ubuntu18
B机上就多了一个名为ubuntu18的容器,但导入的容器还处在未运行的状态,需要启动容器:
docker start ubuntu18【启动容器】
docker镜像的导出和导入
显示当前docker中的镜像:
docker images
镜像列表如下:
REPOSITORY TAG IMAGE ID CREATED SIZE
pointsift latest 90b2ef439b40 2 weeks ago 12.6GB
ubuntu 18.04 735f80812f90 4 weeks ago 83.5MB
导出镜像:
docker save -o <保存路径> <镜像名称:标签>
如把A机 ubuntu:18.04 导出到当前文件夹,则在A机上运行:
docker save -o ./ubuntu18.tar ubuntu:18.04
此时,把A机当前文件夹下的ubuntu18.tar拷贝到另一台安装过docker的B机上,在B机上导入镜像:
docker load --input ./ubuntu18.tar
这样镜像ubuntu:18.04就成功的从A机复制到B机上了
docker容器的导出与导入
显示当前docker中运行的容器:
docker ps
运行的容器列表如下:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4a02996e83b1 ubuntu:18.04 "/bin/bash" 44 secondsago Up 42 seconds ubuntu18
停止容器:
docker stop <容器名>
如要想要导出ubuntu18,必须先停止(如果ubuntu18没有运行,则不需要执行此步骤):
docker stop ubuntu18
如果容器已经停止了,想要查看该容器,可以运行(该命令会显示所有的容器,包括运行的和非运行的):
docker ps -a
导出容器:
docker export <容器名> > <保存路径>
如导在A机中导出容器ubuntu18:
docker export ubuntu18 > ./ubuntu18.tar
导入容器的命令:
docker import <文件路径> <容器名>
把A机当前文件夹下的ubuntu18.tar文件拷贝到B机上,在B机上运行:
docker import ./ubuntu18.tar ubuntu18
启动容器:
docker start <容器名>
B机上就多了一个名为ubuntu18的容器,但导入的容器还处在未运行的状态,需要启动容器:
docker start ubuntu18
进入容器:
#同一个容器会有相同的界面,如果该容器之前已经运行过,则会直接进入运行容器的界面
#该命令通常用于进入后台已经在运行的容器
docker attach <容器名>
或者
#同一个容器有不同的界面,进入容器后的界面不会受该容器的其他运行者的影响
#一般情况下建议使用该命令
docker exec -it <容器名> <执行指令>
启动容器之后,需要进入容器,可以运行:
docker exec -it ubuntu18 /bin/bash
作者:辰飔
链接:https://www.jianshu.com/p/4e862a2a2d03
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。