docker的基本命令
查看docker的版本
docker --version
查看docker 的信息
docker info
主要的信息有,当前有多少container,其中运行的,停止有多少;
有多少个images;
当前docker的版本;
docker安装所有的操作系统信息;
docker root dir:指当前docker的文件在当前系统的什么位置;
registery :当前的仓库地址
搜索images
docker search 镜像名
docker search centos //搜索centos的image
name:镜像的名字
description:镜像的描述
stars:受欢迎程度
official:是否为官方镜像
拉取镜像
下载镜像
docker pull 镜像名:版本/标签
docker pull centos //没有加版本,默认会下载最新版本的镜像
拉取速度慢,可以使用网易,阿里等镜像加速器。请参考https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
查看下载好的镜像
docker images
TAG :版本/标签
image_id :镜像ID
CREATED:创建时间
SIZE:镜像大小
导入本地镜像
docker load -i 镜像所在的路径
docker load -i /root/docker-centos.tar
容器的创建与运行
1.运行一个容器
run 运行
-i 以交互模式运行容器
-t 为容器分配一个伪终端。通常与-i同时使用
–rm:容器执行完后会释放资源。可以用来做压力测试等等
空格 要运行什么镜像,把镜像名字:版本号 或者 镜像ID添加在后面
空格 要对进行进行什么交互命令可以写在后面。
docker run -it --rm centos:latest /bin/bash
这样就进入了centos的镜像了
如果要推出,可以直接输入
exit
2.后台运行
run
-d 后台运行,返回容器ID.
-c 后面跟着待完成的命令
docker run -d centos:latest /bin/sh -c "while true;do echo hello world;sleep 1;done"
查看后台docker的输出
1.通过docker ps
查看运行的进行id
2.通过 docker logs
镜像ID来查看输出
查看运行 的容器;
docker ps
-a 显示所有的,包括停止的,睡眠的
docker ps -a
container_id:容器ID
IMAGE:镜像名字
COMAND:运行容器时执行的命令
CREATED:创建的时间
STATUS:状态
PORTS:端口的映射
NAMES:镜像的名字
进入当前正在运行的容器
docker exec -it 容器ID 执行的命令
docker exec -it 1906a6264cd7 bash
使用exec 进入容器可以打开一个新的终端
docker attach 容器ID 执行的命令
docker attach 1906a6264cd7
使用attach 进行运行的终端
杀死一个容器
docker kill 容器ID
停止一个容器
docker stop <容器 ID>
重启一个容器
docker restart <容器 ID>
删除容器
docker rm -f <容器 ID>
容器命名
docker run -d --name 容器实例名 容器镜像名 执行的命令
docker run -itd --name mycentos centos:latest bash
容器重命名
docker rename 旧容器名 新容器名
docker rename mycentos mycentos1
指定容器的主机名
在创建容器的时候,可以指定容器的主机名
docker run -itd -name 容器名字 -h 主机名 镜像名 命令
docker run -itd -name mycentos -h mycentos.cn centos:latest bash
让容器开机自动启动
docker run --restart=always -itd --name 容器名 镜像名 执行的命令
docker run --restart=always -itd --name mycentos centos:latest bash
–restart= always,在容器退出时总是重启容器
no 默认策略,容器退出不重启
no-failure:n 容器非正常推出时重新启动,n代表启动n次
unless-stopped,在容器退出时总是重启容器,不考虑docker守护进程时已经停止了的容器
如果创建了未指定,或者要更改重启配置,可以通过update命令设置
docker update --restart=always 名字/容器ID
从容器内拷贝文件到主机上
docker cp 容器ID:容器内文件的路径 主机的目的路径
查看镜像的元数据
docker inspect 容器ID