天猫网站做的比京东好,wordpress代码高亮,网站建设的合同,百度快速提交入口0. 学习的一些疑问 如何热更新镜像(images)#xff1f;#xff08;你可以快速启动或者销毁容器。这种时间几乎是实时的#xff09;如何热更新游戏服#xff1f;好处在于各个应用之间环境相互独立#xff0c;即使某一个容器崩溃也不会影响到其它容器#xff1b;每个容器使…0. 学习的一些疑问 如何热更新镜像(images)你可以快速启动或者销毁容器。这种时间几乎是实时的如何热更新游戏服好处在于各个应用之间环境相互独立即使某一个容器崩溃也不会影响到其它容器每个容器使用端口如何维护方法1写在Dockerfile里面不灵活方法2在run的时候-p指定那这样的话会存在好多linux用户相当于每一个容器就要维护一个物理机虚拟需要一套工具来管理维护镜像、容器的操作和状态目前主流使用docker都是应用到哪些场景中1. docker的二个软件 Docker: 开源的容器虚拟化平台Docker Hub: Software-as-a-Service平台用来共享和管理docker容器。2. docker的三大模块 Docker images.(镜像)Docker registries.(仓库)Docker container.(容器)3. 常用命令 3.1. 常用镜像命令 docker image(查看镜像信息)docker build(创建镜像) Dockerfile #注释FROM 基于哪个镜像为基础MAINTAINER 维护者信息RUN 运行指令ADD 复制本地文件到镜像EXPOSE 设置开放端口CMD 容器启动后允许的程序WORKDIR 切换工作目录-t 添加tagbuild后面需要接路径3.2. 少用镜像命令 docker pull(获取镜像)docker push(上传镜像)docker search(搜索镜像) -s N 只搜索指定星级以上的镜像docker rmi(删除镜像)docker tag [id] [new name:tag] (修改tag)docker save(保存镜像)docker load(加载镜像) docker load --input xxx.tardocker load xxx.tarload与import的区别镜像是完整的与快照是丢弃历史记录和元数据信息的docker rmi $(docker images -q -f danglingtrue)(清理所有未打过标签的本地镜像)3.3. 常用容器命令 docker run([下载镜像并]启动容器) -t 分配一个伪终端-i 打开标准输入-d 后台运行-v 创建并挂载数据卷(可有多个)--volumes-from 挂载数据卷(可有多个)-p 指定映射端口 (ip:port:containerPort/udp|ip::containerPort|port:containerPort)-P 随机映射端口--name 自定义容器名字--rm 终止后立即删除容器--link : 容器互联docker start(启动已终止容器)docker stop(终止容器)nsenter(进入容器)(推荐) PID$(docker inspect --format {{ .State.Pid }} )nsenter --target $PID --mount --uts --ipc --net --pid3.4. 少用容器命令 docker commit(提交容器) -m --massage 提交信息-a --author 作者信息-p --pausetrue 提交时暂停容器运行docker attach(进入容器)docker ps(查看正在运行的容器) -a 查看已终止docker logs [container ID or NAMES] 查看(后台)运行日志docker export(导出容器为文件) docker export xxx.tardocker import(文件快照导入镜像) cat xxx.tar | docker import - test/name:v1.0docker import http://xxx.tgz test/namedocker rm(删除容器) 默认不会删除运行中的容器docker rm $(docker ps -a -q) 清理所有处于终止状态的容器-v 同时删除数据卷4. 安装 4.1. 在CentOS7中安装 curl -sSL https://get.docker.com/ | sh //下载官服脚本按照
chkconfig docker on //设置开机自动启动 4.2. 在CentOS6中安装 4.2.1. 添加yum软件源 tee /etc/yum.repo.d/docker.repo EOF
[dockerrepo]
nameDocker Repository
baseurlhttps://yum.dockerproject.org/repo/main/centos/$releasever/
enabled1
gpgcheck1
gpgkeyhttps://yum.dockerproject.org/gpg
EOF 4.2.2. 安装docker yum update
yum install -y docker-engine 4.2.3. No module named yum 如果在执行yum update的时候出现了No module named yum错误可能是存在与yum不对应的python版本引起。可以通过修改yum和yum-updatest的执行脚本/usr/bin/yum和/usr/bin/yum-updatest的注释来指定python版本。譬如 #!/usr/bin/python
修改为
#!/usr/bin/python2.6 5. 基础环境 可以下载bashrc_docker文件加载到环境.bashrc中其可以提供一些方便的命令用于做一些比较复杂的过程。 .bashrc_docker(https://raw.githubusercontent.com/yeasy/docker_practice/master/_local/.bashrc_docker) 定义了以下命令 - docker-pid(获取容器pid)
- docker-enter(进入容器)下载和加载到linux环境中 wget -P ~ https://raw.githubusercontent.com/yeasy/docker_practice/master/_local/.bashrc_docker
echo [ -f ~/.bashrc_docker ] . ~/.bashrc_docker ~/.bashrc;source ~/.bashrc 6. 仓库 6.1. 私有仓库 官服提供了一个docker-registry镜像来供私有仓库的搭建。 docker run -d -p 2010:5000 registryvi /etc/docker/daemon.json
{insecure-registries:[myregistry.example.com:5000]}cul http://x.x.x.x:2010/v2/linerl/tags/list API文档https://github.com/docker/distribution/blob/master/docs/spec/api.md 7. 学习后的一些结论 本身是虚拟机技术实现的服务器大多数带有随时可扩展升级的性质没有资源分配的需求没有必要用到dockerdocker适合在做负载均衡的短链接的web服务上面应用场景都是以镜像、容器为操作单位的最佳如果有业务可以做到镜像、容器来维护就可以的说明这个业务就很合适使用docker。 以上只是本人刚开始学习的一些理解当然docker的能力我还远远没理解到适合的场景肯定还有很多。目前的记录只是为了以后查阅和学习巩固。