镜像:
获取镜像:
docker pull NAME[:TAG] 如果不制定TAG 默认拉取最新版。
默认是从DockerHub拉取镜像,如果希望从别的服务器的仓库拉取,命令如下:
docker pull dl.dockerpool.com:5000/nginx
下载镜像到本地后,即可使用该镜像。
查看镜像信息:
查看本机已有镜像列表:docker images
查看指定镜像详细信息: docker inspect IMAGEID
搜索镜像:
命令:docker search Name 默认搜索Docker Hub官方库的镜像。 会显示名称,描述信息,STARS,是否官方创建,是否自动创建,默认按照STARS排序。
删除镜像:
命令:docker rmi NAME:[TAG]
启动镜像:
命令:docker run [OPTIONS] IMAGE[:TAG] [COMMAND] [ARG...]
具体可以查看DockerHub 对应镜像中的 How to use this image说明.
容器:
Docker的容器十分轻量级,用户可以随时创建删除容器。
创建容器:
命令: docker create [OPTIONS] IMAGE [COMMAND] [ARG...] 创建一个新的容器但不启动它。
-
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-
-d: 后台运行容器,并返回容器ID;
-
-i: 以交互模式运行容器,通常与 -t 同时使用;
-
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-
--name="nginx-lb": 为容器指定一个名称;
-
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
-
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-
-h "mars": 指定容器的hostname;
-
-e username="ritchie": 设置环境变量;
-
--env-file=[]: 从指定文件读入环境变量;
-
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-
-m :设置容器使用内存最大值;
-
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container:<name|id> 四种类型;
-
--link=[]: 添加链接到另一个容器;
-
--expose=[]: 开放一个端口或一组端口;
实例:
执行命令后,Docker会先检查本地是否存在该镜像,不存在就去仓库下载,然后通过镜像创建容器。
docker run 语法同docker create 创建一个新的容器但不启动它。
列出容器:
命令:docker ps [OPTIONS]
OPTIONS说明:
-
-a :显示所有的容器,包括未运行的。
-
-f :根据条件过滤显示的内容。
-
--format :指定返回值的模板文件。
-
-l :显示最近创建的容器。
-
-n :列出最近创建的n个容器。
-
--no-trunc :不截断输出。
-
-q :静默模式,只显示容器编号。
-
-s :显示总的文件大小。
实例:
停止容器:
命令 :docker stop [OPTIONS] CONTAINER [CONTAINER...] 停止一个运行中的容器
实例:
删除容器:
命令1:docker rm [OPTIONS] CONTAINER [CONTAINER...] 删除一个或多少容器
命令2:docker kill [OPTIONS] CONTAINER [CONTAINER...] 杀掉一个运行中的容器
启动容器:
命令:docker start [OPTIONS] CONTAINER [CONTAINER...] 启动一个或多少已经被停止的容器
重启容器:
命令:docker restart [OPTIONS] CONTAINER [CONTAINER...] 重启容器
进入容器:
命令:docker exec [OPTIONS] CONTAINER COMMAND [ARG...] 在运行的容器中执行命令
OPTIONS说明:
-
-d :分离模式: 在后台运行
-
-i :即使没有附加也保持STDIN 打开
-
-t :分配一个伪终端
在容器中开启一个交互模式的终端
启动Redis实战:
1. 拉取官方镜像,镜像地址:https://hub.docker.com/_/redis/
2. 拉取镜像:docker pull redis
3. 执行指令启动Redis
docker run --name redis -d -p 6379:6379 redis