docker指令总结
## docker基本服务操作:
1)systemctl start docker #启动docker服务
2)systemctl status docker #查看docker状态
3)systemctl enable docker #设置docker开机自启
4)systemctl disable docker #禁用docker开机自启
5)systemctl restart docker #重新启动docker服务
6)docker info #查看docker信息
7)docker info | grep "xxx" #查看docker info中具体key的信息
8)systemctl stop docker #停止docker服务
## docker镜像操作:
1)docker pull 镜像名 #在线下载镜像
2)docker images #浏览镜像文件
3)docker inspect 镜像名/镜像id #查看镜像详情
4)docker history 镜像名/镜像id #查看镜像历史
5)docker save 镜像名 | gzip > 镜像名.tar.gz # 导出镜像文件(可供他人使用)
6)docker image rm 镜像名/镜像id #删除镜像文件
7)docker load < 镜像名.tar.gz #镜像导入(离线下载镜像,需要在该镜像所在目录下执行)
8)docker run 镜像名 #运行镜像文件
## docker容器操作
1)docker run -it xxx(镜像名) bash #创建并启动容器
2)docker ps #查看docker运行中的容器
3)docker ps -a #查看docker运行中的所有容器(执行后为退出状态的)
**4)docker container logs xxx(容器id/容器名) #查看容器日志信息(指令非常重要,可以用来调错)**
5)docker container stop xxxx(容器id/容器名) #停止容器
6)docker container restart xxx(容器id/容器名) #重新启动容器
7)docker exec -it xxx(容器id/容器名) bash #进入指定容器(这里可进入的是运行中的容器)
8)exit 退出容器
9) docker container rm xxx(容器id/容器名) 删除容器
10)docker container prune 清理所有终止状态的容器
## docker数据管理
1)docker volume create container-v01 #创建数据卷
2)docker volume ls #查看所有数据卷
3)docker volume inspect container-v01 #查看指定数据卷信息
4)docker run -it --mount source=container-v01,target=/root centos:7 bash
docker run -it -v container-vol:/root centos:7 bash #启动挂载数据卷的容器(这里指将数据卷挂载到容器的root目录)
5)docker volume rm container-v01 #删除数据卷
6)docker volume prune #清理无主数据卷
7)docker run -it /usr/app:/opt/app centos:7 bash #挂载目录主机(宿主机目录:容器目录)
8)docker inspect 容器id # 查看挂载目录信息
## docker镜像制作
1)需要创建Dockerfile 在Dockerfile中写入代码
FROM centos:7 # FROM要大写
ADD jdk-8u51-linux-x64.tar.gz /usr/local/docker #通过add命令将宿主机中的压缩包传入镜像容器中的指定目录,并同时解压
ENV JAVA_HOME=/usr/local/docker/jdk1.8.0_51 \ #设置环境变量(通过ENV关键字实现,目录启动容器中的目录)
PATH=/usr/local/docker/jdk1.8.0_51/bin:$PATH
CMD ['bash'] #指定命令行操作(要注意指令与内容之间要有空格)
2)docker build -t jdk:8 . #不要丢掉这里的点,使用 Dockerfile 构建镜像(在Dockerfile所在目录执行docker指令)
3)docker run -it 镜像名 bash #运行镜像文件
4)echo $PATH #进入容器后查看环境变量
## docker容器互联
1)docker network create -d bridge t-net #新建网络,名为t-net
2)docker network ls #查看网络信息
3)docker run -it --name app1 --network t-net centos:7 #打开终端,基于centos:7这个镜像启动容器,并假如到t-net网络
4)docker run -it --name app2 --network t-net centos:7 #打开终端,基于centos:7这个镜像启动容器,并假如到t-net网络
5)ping app1/ping app2 #在两个终端分别执行,观察网络是否互联成功
|