帮助命令
查看docker版本信息:docker version
显示docker系统信息:docker info
命令帮助:–help
镜像命令
列出本地主机上的镜像:docker images
列出所有镜像:docker images -a
只显示镜像id:docker images -q
显示镜像摘要信息:docker images -digests
搜索镜像:docker search
下载远程仓库的镜像:docker pull
- 指定版本下载(MySQL5.7仓库要有的):docker pull mysql:5.7
删除镜像:docker rmi
删除全部:docker rmi $(docker images -aq)
删除多个:docker rmi 镜像名:版本号 镜像名:版本号
根据镜像id删除:docker rmi 镜像ID
打包镜像:docker save -o 压缩文件名 镜像ID:版本号
加载镜像文件:docker load -i 压缩文件名
容器命令
新建容器并运行:docker run -参数 镜像名 /bin/bash
–name给容器一个指定的名字
-i 交互模式运行容器
-t 给容器分配一个终端
-P 随机端口
-p 指定端口
-d 允许后台运行
-rm 用完这个容器就删除
数据卷
-v 容器目录:匿名挂载
-v 数据卷名:容器目录 具名挂载
-v 宿主机目录:容器目录 指定目录挂载
容器B挂载到数据卷容器A上:docker run -it –name 容器B名 –volumes-from 容器A名 镜像:版本号
退出容器
停止退出:exit
不停止退出:Ctrl + Q + P
启动容器:docker start 容器ID/容器名
重启容器:docker restart 容器ID/容器名
停止容器:docker stop 容器ID/容器名
强制停止容器:docker kill 容器ID/容器名
删除容器
删除指定容器:docker rm 容器ID
删除所有容器:
docker rm -f $(docker ps -aq)
docker ps -aq | xargs docker rm
列出所有运行容器:docker ps -参数
-a 显示正在运行容器 + 历史运行过的容器
-l 显示最近创建的容器
-n=? 显示最近n个创建的容器
-q 只显示容器编号
查看容器状态:docker status 容器ID
设置启动docker时也启动容器:docker update 容器名 –restart=always
Dockerfile
提交容器,成为镜像:docker commit -a=“作者名” -m=“描述” 容器ID 自己命名容器
根据自己写的脚本文件生产镜像:docker build -f 哪个目录下的哪个文件 -t 名字:版本号
- docker build -f ./tomcatfile -t liang_centos:1
常用关键字
FROM 基础镜像
MAINTAINER 作者信息
RUN 构建容器时执行什么命令
CMD 启动容器时默认命令,执行命令后有参数会追加
COPY 复制文件到镜像中
ADD 复制文件到镜像中,如果是压缩包会自动解压
ENV 配置环境变量
VOLUME 挂载数据卷
EXPOSE 开放端口
WORKDIR 工作目录(容器一级目录)
docker网络
查看网关:ip addr
服务名访问:–link(docker run -d –name tomcat1 –link tomcat2 tomcat 然后tomcat1就可以ping通tomcat2原理是配置了hosts文件)
查看网络:docker network ls
查看网络具体配置:docker network inspect 网络ID
创建网卡mynet:docker network create –driver bridge –subnet 192.168.0.0/16 –gatway 192.168.0.1 mynet
–driver bridge:网络模式选择默认的桥接
–subnet:子网范围
–gatway:网关地址
mynet:网络名
网络连通:docker network connent mynet tomcat1(将tomcat1容器连通到mynet网络)
docker compose
查看版本:docker-compose-version
启动应用:docker-compose up -d(带上-d就是后台启动)
关闭应用:docker-compose down 或 Ctrl + C
docker swarm
初始化:docker swarm init
- 把172.18.80.80这个地址的docker设为swarm的leader(事务节点):docker swarm init –advertise -addr 172.18.80.80
查看节点:docker node ls
生成事物节点:docker swarm join-token manager
生成工作节点:docker swarm join-tokrn worker
离开所在的swarm:docker swarm leave
服务
创建服务:docker service create -p 8080:80 –name my-nginx nginx(与run指令相似)
查看服务:docker service ls
查看详细服务:docker service ps 服务名
动态扩展容:docker service update–replicas 数量 服务名
动态扩缩容:docker service scale 服务名=数量
其他命令
查看日志:docker logs -tf -tail 数字 容器ID
-t 显示时间戳
-f 打印最新日志
–tail 数字 打印多少条
查看容器中运行进程信息:docker top 容器ID
查看容器元数据:docker inspect 容器ID
进入正在运行的容器
docker attach 容器ID
docker exec -it 容器ID /bin/bash
把容器中的文件拷贝到宿主机中:docker cp 容器ID: /容器文件位置 /宿主机目的位置
开机时启动xx容器: docker update xx容器名 –restart=always