本地环境:CentOS 7
基础命令
查看docker版本
docker -v
设置国内镜像源
cat /etc/docker/daemon.json # 默认为空 {}
#添加任意一个国内镜像地址
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
启动、停止、重启和查看docker
systemctl start docker
systemctl stop docker
systemctl restart docker
systemctl status docker
systemctl enable docker #开机启动
查看docker概要信息
docker info
docker在线帮助文档
docker --help
镜像相关命令
查看镜像
docker images
参数说明:
REPOSITORY : 镜像名称
TAG : 镜像标签
IMAGE ID : 镜像ID(唯一)
CREATED : 镜像的创建日期(非获取镜像日期)
SIZE : 镜像大小
镜像默认存储在Docker宿主机的 /var/lib/docker/ 目录下
搜索镜像
docker search
参数说明:
INDEX :镜像源
NAME : 镜像仓库名称
DESCRIPTION : 镜像的描述
STARS : 类似 Github 里面的 star,表示点赞、喜欢的意思。
OFFICIAL : 是否 docker 官方发布
AUTOMATED : 自动构建。表示该镜像有Docker Hub自动构建流程创建的
拉取镜像
从中央仓库中下载到本地
docker pull 镜像名称
删除镜像
#对应镜像的容器需要停止
docker rmi 镜像ID
删除所有镜像
docker rmi `docker images -q`
容器相关命令
查看正在运行的容器
docker ps
查看所有容器
docker ps -a
查看最后一次运行的容器
docker ps -l
查看停止的容器
docker ps -f status=exited
创建容器命令
docker run
#参数
-i :表示运行容器
-t :表示容器启动后,会进入其命令行。加入以上两个参数后,容器创建就会进入容器,即分配一个伪终端
-name :为创建的容器命名
-v :表示目录映射关系(前面是宿主机目录,后者是映射到宿主机的目录),可以使用多个 -v
做多个目录或文件映射。(最好做目录映射,方便操作)
-d :在run后面加上-d 参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加 -i -t 两个参数,创建后就会自动进入容器)
-p :表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个 -p 做多个端口映射
交互式方式创建容器(退出容器,容器自动停止)
docker run -it --name=容器名称 镜像名称:标签 /bin/bash
守护式方式创建容器
docker run -di --name=容器名称 镜像名称:标签
登录守护式方式创建容器(退出容器,容器不会停止)
docker exec -it 容器名称(或容器ID) /bin/bash
停止与启动容器
docker start 容器名称(或容器ID)
docker stop 容器名称(或容器ID)
文件拷贝
# 将文件拷贝到容器内
docker cp 需要拷贝的文件或目录 容器名称:容器目录
# 将文件从容器内拷贝出来
docker cp 容器名称:容器目录 需要拷贝的文件或目录
目录挂载
创建容器时,将宿主机目录和容器内目录映射,这样可以通过修改宿主机某个目录的文件从而影响容器
创建容器 添加 -v 参数 后边为 宿主机目录:容器目录,例如:
docker run -di -v 宿主机目录:容器目录
查看容器运行的各种数据
docker inspect 容器名称(或容器ID)
#输出容器的IP信息
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(或容器ID)
删除容器
#删除指定容器(容器需要停止)
docker rm 容器名称(或容器ID)
docker备份和迁移
容器保存为镜像
docker commit 容器名称 镜像名称
镜像备份与恢复
# 镜像备份
docker save -o *.tar 镜像名称
# 镜像恢复
docker load -i *.tar
镜像上传到私有仓库
# 标记此镜像为私有仓库的镜像
docker tag 镜像名称 私服地址:端口/名称
# 上传标记的镜像
docker push 私服地址:端口/名称
Dockefile
Dockerfile是由一系列命令和参数过程的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。
常用命令如下:
未完待续。。。。