docker中央仓库:
https://hub.docker.com
https://c.163yun.com/hub/#/home
https://hub.daocloud.io/
拉取镜像到本地:
docker pull 镜像名称
例如:
docker pull https://hub.daocloud.io/
一. 镜像操作:
查看全部镜像:
docker images
删除本地镜像
docker rmi 镜像的标识
镜像的导入导出
1. 将本地镜像导出
docker save -o 导出的路径 镜像id
2. 加载本地的镜像文件
docker load -i 镜像文件
3.修改镜像名称
docker tar 镜像id 镜像名称:id
二. 容器操作:
运行容器:
docker run 镜像的标识|镜像名称[:tag]
docker run -d -p 宿主机端口:容器端口 -name 容器名称 镜像的标识|镜像名称[:tag]
-d:代表后台运行的容器
-p:宿主机端口:容器端口 为了映射当前linux的端口与容器的端口
-name:容器名称,指定容器名称
查看正在运行的容器
docker ps [-qa]
-a:查看全部容器,包括没有运行的容器
-q:只查看容器的标识,不显示其他信息
docker logs -f 容器id
-f:可以滚动查看容器的最后几行
进入到容器内部:
docker exec -it 容器id bash
删除指定容器(删除容器前,需要先停止容器)
docker rm 容器id
删除全部容器
docker rm ${docker ps -qa}
停止指定容器:
docker stop 容器id
停止全部容器:
docker stop ${docker ps -qa}
启动容器:
docker start 容器id
拷贝文件到容器:
docker cp 文件名 容器id:容器内部路径
三. 数据卷:
将宿主机的的目录映射到容器的目录,操作宿主机中目录的文件,容器映射的目录所在的文件也会一起改变。
创建数据卷:创建数据卷后,默认会存放在目录/var/lib/docker/volumes/数据卷名称/_data
docker volume create 数据卷名称
查看数据卷的详细信息:
docker volume inspect 数据卷名称
查看全部数据卷
docker volume ls
删除数据卷
docker volume rm 数据卷名称
应用数据卷
1. 当映射数据卷时,如果数据卷不存在,docker会自动帮你创建,会将容器内部自带的文件存放在默认的存放路径中。
docker run -v 数据卷名称:容器内部的路径 镜像id
2. 也可以直接指定一个路径作为数据卷的存放位置,这个路径下是空的。
docker run -v 路径:容器内部的路径 镜像id
四. Docker 自定义镜像
1. 创建一个dockerfile文件,并指定自定义镜像信息
from: 指定当前自定义镜像依赖的环境
copy:将相对路径下的内容复制到自定义镜像中
workdir: 声明镜像的默认工作目录
cmd:需要执行的命令,在workdir执行,cmd可以写多个,但是只以最后一个为准
2. 将准备好的dockerfile和相应的文件拖拽到linux操作系统中,通过docker命令制作镜像
docker build -t 镜像名称:[tag] .
五. dokcer-compose命令管理容器
在使用docker-compose命令时,默认从当前目录下找docker-compose.yml文件
启动管理的容器:
docker-compose up -d
关闭并删除容器:
docker-compose down
开启|关闭|重启已经存在的由docker-compose维护的容器
docker-compose start|stop|restart
查看由docker-compose管理的容器
docker-compose ps
查看日志
docker-compose logs -f
docker-compose可以配合dockerfile文件一起使用,在生成自定义镜像的同时启动当前镜像,并由docker-compose管理容器。如果自定义镜像不存在,会构建出自定义镜像;如果自定义镜像已经存在,会直接运行这个自定义镜像。如果想重新构建自定义镜像,可执行:
docker-compose build 或者docker-compose up -d --build