docker下载地址:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
相关命令
- systemctl start docker 系统控制开启docker
- 查看docker的容器
docker ps
- 查看所有docker的容器
docker ps -a
-
查看docker的镜像
docker images
-
Docker 三个重要概念:
仓库 (Repository)、镜像 (image) 、容器 (Container)
- Dockerfile
是一系列指令集的集合。
Docker最多的层数是128层,行不能超过128行。
Dockerfile 的指令是忽略大小写的,建议使用大写。使用#作为注释。每行只支持一条命令。
FROM 基础镜像base image
RUN 执行命令
ADD 添加文件
COPY 拷贝文件
CMD 执行命令
EXPOSE 执行命令
WORKDIR 指定路径
MAINTAINER 维护者
ENV 设定环境变量
USER 指定路径
VOLUME 逻辑卷挂载点mount point
8. docker-compose
容器编排工具,允许用户在一个模板( YAML 格式 )中定义一组相关联的容器,会根据 --link 等参数,对启动的优先级进行排序
用法:
-f 指定使用的 yaml 文件位置
up -d 启动容器项目
ps 显示所有容器信息
pause 暂停容器
unpause 恢复暂停
logs 查看日志信息
rm 删除容器
config -q 验证 yaml 配置文件是否正确
stop 停止容器
start 启动容器
restart 重新启动容器
9. 根据镜像生成容器
docker run -d -p 8888:8080 --name 容器名 镜像名 [--restart=always]
注:容器8080端口映射到宿主机8888端口
[--restart=always] 容器的自动启动,应用,在虚拟机重启后
[--add-host hostname:IP] 注入hostname<>ip 解析 不想通过ip地址访问的时候
10. 进入容器
docker exec -it 容器ID/容器名称 /bin/bash
11. 退出容器
exit
12. 启动/停止/重启容器
docker start/stop/restart 容器ID/容器名称
13. 镜像加速
14. Shipyard
docker pull shipyard/shipyard
docker pull swarm
docker pull shipyard/docker-proxy
docker pull alpine
docker pull microbox/etcd
docker pull rethinkdb
docker run -ti -d --restart=always --name shipyard-rethinkdb rethinkdb
docker run -ti -d -p 4001:4001 -p 7001:7001 --restart=always --name shipyard-discovery microbox/etcd:latest -name discovery
docker run -ti -d -p 2375:2375 --hostname=$HOSTNAME --restart=always --name shipyard-proxy -v /var/run/docker.sock:/var/run/docker.sock -e PORT=2375 shipyard/docker-proxy:latest
docker run -ti -d --restart=always --name shipyard-swarm-manager swarm:latest manage --host tcp://0.0.0.0:3375 etcd://<IP-OF-HOST>:4001
docker run -ti -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr <ip-of-host>:2375 etcd://<ip-of-host>:4001
docker run -ti -d --restart=always --name shipyard-controller --link shipyard rethinkdb:rethinkdb --link shipyard-swarm-manager:swarm -p 8080:8080 shipyard/shipyard:latest server -d tcp://swarm:3375
注:替换<ip-of-host>为实际宿主机地址
验证:
15. docker常见面试题汇总