docker

docker的主要命令

命令 解释 备注
yum install docker 安装docker
service docker start 启动docker
systemctl enable docker 开机启动docker
docker version 查看docker版本
docker search tutorial 搜索可用docker镜像 好像需要翻墙
docker images 获取宿主机的docker镜像
docker image rm 删除本地镜像 docker image rm [选项] <镜像1> [<镜像2> …]
docker image ls -f dangling=true 清除虚悬镜像的命令 由于版本更迭造成低版本镜像有为<none>的情况
docker pull 从docker仓库拉取镜像 docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
docker ps 获取docker容器列表
docker commit 698 learn/ping 保存对容器的修改 698 代表容器前3位id,后面是容器名称
docker inspect xx 查看某一容器详细信息 xx 代表容器名称
docker system df 查看镜像、容器、数据卷所占用的空间。
docker run 运行容器
docker exec -it xx /path 进入容器内部 xx代表镜像名称 /path 代表容器路径
docker logs -f –tail 500 xx 查看某容器前500行日志 xx 代表容器名称
docker cp /etc/localtime xx:/etc/ 修改docker 容器时间与linux宿主时间一致 xx代表具体的容器id
docker run -p 8086:8086 -it cloud_websocket /bin/bash 创建docker容器 8086:8086 代表容器内部端口:对外端口 此操作需要Dockerfile
docker run –name=grid-auto-dispatch-task -p 9065:9065 -idt -v /servers/docker-jar/grid-auto-dispatch-task:/usr/Downloads bolingcavalry/springbootrun:0.0.2 根据image创建并运行容器 -p:宿主机端口与容器端口映射 -v:将宿主机文件映射到容器中,做共享文件夹 –name:容器名称
sudo yum remove docker docker-common docker-selinux docker-engine 卸载docker组件

docker run

  • -it:这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。我们这里打算进入 bash 执行一些命令并查看返回结果,因此我们需要交互式终端。

  • –rm:这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动 docker rm。我们这里只是随便执行个命令,看看结果,不需要排障和保留结果,因此使用 –rm 可以避免浪费空间。

  • bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash。

DockerFile 定制镜像

Dockerfile 是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。

  • 通过 docker build 根据Dockerfile 创建容器

Dockerfile 指令详解

指令 作用 备注
FROM 功能为指定基础镜像,并且必须是第一条指令。 如果不以任何镜像为基础,那么写法为:FROM scratch
RUN 功能为运行指定的命令 RUN ...
CMD 功能为容器启动时要运行的命令 RUN是构件容器时就运行的命令以及提交运行结果,CMD是容器启动时执行的命令,在构件时并不运行,构件时紧紧指定了这个命令到底是个什么样子
COPY 一个复制命令,把文件复制到景象中
ADD 一个复制命令,与copy的区别是ADD 可以复制远程文件 ADD <src>... <dest> src 代表要复制的路径,dest代表目标路径
ENV 设置环境变量 ENV <key> <value>
VOLUME 可实现挂载功能,可以将本地文件夹或者其他容器中的文件夹挂在到这个容器中 VOLUME /var/log /var/db

关于 docker-compose

  • docker-compose -f docker-compose.yml up -d

    docker-compose 启动目录下 docker-compose.yml 的容器

  • docker-compose down

    docker-compose 停止目录下 docker-compose.yml 的容器

docker 对镜像的导入导出

  • docker save -o prometheus.tar prom/prometheus:latest

    这条命令会在当前目录生成 prometheus.tar 文件

  • docker load -i nginx.tar

    加载nginx.tar 文件为镜像文件

部署

Redis & Redis 集群

docker-compose create
docker-compose up -d

mysql & mysql 集群

本文采用CC-BY-SA-3.0协议,转载请注明出处
Author: dadonggua