本站教程收集整理的这篇文章主要介绍了docker入门,本站教程本站觉得挺不错的,现在分享给大家,也给大家做个参考。
docker
多服务器节点自动批量化安装、启停、监控工具
结构
镜像 Image = class? 安装包
仓库 Repository = mvn 管理 Image 各个安装包版本管理
容器 Container = instance? Image 实例
主机 Host 控制中心 控制所有节点
客户端 Client 每一台节点上 安装客户端
环境
wget https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo usermod -aG docker walker # 非root用户添加docker组 # sudo apt-get purge docker-ce #卸载 # sudo rm -rf /var/lib/docker #清理文件
@H_404_21@使用
仓库管理
中心仓库
https://hub.docker.com/
可注册个人账号管理自己的镜像 starsdocker login/logout
@H_404_21@管理镜像
docker --Help docker search ubuntu # 搜索镜像 docker pull/push ubuntu # 手动下载上传镜像 # 新建镜像 vi Dockefile FROM Nginx # 基线 ARG NAME=Hello VERSION=1.0 # 上下文变量 参数 ENV JAVA_HOME=/home/java7 # 目标容器环境变量 VOLUME /home/walker/Nginx # 数据卷 默认匿名卷 容器重启丢失? 避免容器扩大 EXPOSE 6379 6389 # 声明端口 workdir /home/walker/workdir # 工作目录 须提前建好 每一个 RUN 指令 每一层镜像都存在 USER walker:usergrp # 指定用户组 须已存在 HEALTHchecK NONE # 屏蔽基线的健康检查 RUN echo 'h' > ${JAVA_HOME}/Hello.txt && echo 'w' > /${NAME}/test.txt # 每次指令都会封装一层 镜像膨胀 减少行数!!! #所有指令均支持两种写法 RUN ['echo', 'Hello'] # build 阶段执行 copY --chown=walker:rootgrp /home/root/* /home/walker/ ADD # 同 copY 自动解压! ONBUILD echo 'from this onbuild' # 同 RUN 被依赖基线 from 时 build 时执行 ENTRYPOINT ["Nginx", "-c"] # 定参 类似 CMD 但不会被 命令参数覆盖 CMD ["/etc/Nginx/Nginx.conf"] # 变参 同 RUN run 阶段执行 只最后一行生效!!! 一般变参使用 # 不传参数时 docker run Nginx:test => Nginx -c /etc/Nginx/Nginx.conf # 传参数时 docker run Nginx:test -c Hello.conf => Nginx -c Hello.conf docker build -t Nginx:v2 . # 将本路径一起打包上传 # 容器快照提交镜像 docker commit ${iD} ${namE}:v2 -m="my new dk" # commit 描述信息 -a="walker" # autho 作者 test/ubuntu:v2 # 镜像目标位置 ${tag} docker images ls #本地镜像清单 docker tag ${iD} # 标签 命名 # 管理网络 域名?命名空间 容器互联 docker network create -d bridge test-net -d bridge / overlay 网络模型 docker network ls # 网络列表 #宿主机配置所有容器统一dns cat /etc/docker/daemon.json { "dns":["114.114.114.114"] } # 实例化镜像 创建容器 docker run ubuntu:15.10 /bin/echo "Hello world" run # (安装)启动 容器 -i # 开启交互 输入 输出 -t #交互终端模式 -d # 后台模式 返回 id ctrl+z? -P # 随机映射高端口主机? -p 127.0.0.1:5000:5000/tcp # 指定ip端口映射 -v /home/walker/ubu # 指定卷 挂载点 VOLUMN --rm # 退出容器时 自动清理文件系统 --hostname=HOSTNAME # 主机名 /etc/hosts /etc/hostname --name ubuntu1510 # 命名 --build-arg NAME=name # ARG 上下文变量替换 --dns=114.114.114.114 # 指定 dns --network test-net # 加入网络 bash 中 可 ping ${tag} 即可 ping 通 ubuntu:15.10 # 镜像 ${tag} : 版本 /bin/echo "Hello 便宜美国vps world" # 容器中执行指令
@H_404_21@管理容器
docker ps -a # = ps jobs -l last 最后一次创建的容器 status 状态 created restarTing running/up paused exited dead docker start ${iD}/${namE} start/stop/restart port # 端口映射查看 inspect # 容器信息详情 logs -f # tail -f 跟踪标准输出 stdout attach # 前台容器 fg? 退出即关闭 exec -it ${iD} /bin/bash # 前台容器 临时接管 不能关闭 export ${iD} > ubuntu15.tar # 导出快照 cat ubuntu15.tar | docker import - test/ubuntu:v1 # 导入快照 docker import http://xxxx/xxx example/imgerepo docker container prune # 清理终止状态的容器
@H_404_21@项目环境 多容器配置依赖 ymL 工具 Docker Compose
集群环境 海量服务器管理 Docker Machine
多服务器批量操作
启动、检查、停止、重启、托管、升级(docker)docker-machine create --driver virtualBox test #创建 docker-machine ${action} ${name} ls ip stop/start/restart/upgrade/rm/kill/env inspect #详情 ssh/scp
@H_404_21@本站总结
以上是本站教程为你收集整理的docker入门全部内容,希望文章能够帮你解决docker入门所遇到的程序开发问题。
如果觉得本站教程网站内容还不错,欢迎将本站教程推荐给好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。