docker入门

Docker

简介

  • Docker 是一个开源的应用容器引擎 理解为加强版虚拟机
  • 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

个人理解

  • docker中的容器是动态的,随时创建和销毁,只有镜像是持久化的
  • 而且容器是一个虚拟出来的功能完备的Linux操作系统可以进行登录运行命令
  • docker images来得到所有的本地镜像名,使用docker run --name {name} -d {image-name} 以某容器来启动某个镜像
  • 然后docker ps查看运行状况

docker安装与卸载

通过deb文件方式来安装:
开始安装
  • sudo dpkg -i deb文件
  • 测试安装成功 sudo docker run hello-world
卸载docker
  • sudo apt-get purge docker-ce
  • sudo rm -rf /var/lib/docker

常规使用

  • 如果出现命令执行失败,可以登录docker的控制台直接执行 boot2docker ssh

镜像命令

  • 搜索 : docker search 镜像名
  • 安装 : docker pull 镜像名
  • 查看 : docker images
  • 删除 :docker rmi image-id

容器命令

  • 运行:docker run --name conrainer-name -d image-name

    • --name 后配置容器名字
    • -d image 名字

Dockerfile使用

使用入门案例
  • 新建目录然后 touch Dockerfile gedit Dockerfile
    #随意写的
    FROM redis
    MAINTAINER Mythos
    ENV DIRPATH /path
    WORKDIR $DIRPATH/$DIRNAME
    RUN pwd
  • docker build . 如果之前得到一个没有名字的镜像
  • docker build -t repository/tag . 给镜像指定名字
  • docker run --name ContainerName -d repository/tag 新建容器来运行镜像

  • Dockerfile是一个镜像的表示,可以通过Dockerfile来描述构建镜像的步骤,且可以自动构建一个容器
  • 所有的 Dockerfile 命令格式都是: INSTRUCTION arguments
  • 最好在运行这个配置文件的时候新建一个空目录目录下放dockerfile,不要使用根目录,不然全部的东西都传到守护进程里去了

    • 因为生成过程的第一件事是将整个上下文 (递归) 发送到守护进程。
  • 同样的可以使用.dockerignore文件来忽略不要上传的文件
  • docker build

    • -f 指向任意位置的文件进行配置 docker build -f /path/to/a/Dockerfile .
    • 您使用docker构建的-f标志指向文件系统中任何位置的Dockerfile。
    • -t如果构建成功 可以指定保存新镜像的repository和tag (多个的话就多个 -t就行了,例如 docker build -t shykes/myapp:1.0.2 -t shykes/myapp:latest .)

RUN

.dockerignore 文件的使用

  • .dockerignore文件是依据 Go的PathMatch规范来的,使用和.gitignore类似

安装 redis

  • 获取镜像:docker pull redis
  • 运行默认配置的容器:docker run --name test-redis -d redis
  • 使用本地配置文件启动redis容器
  • sudo docker run -v /myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf --name myredis redis redis-server /usr/local/etc/redis/redis.conf
  • 查看当前运行的容器:docker ps

    • 查看所有容器 :docker ps -a
  • 停止容器:docker stop 容器name或id
  • 启动容器:docker start 容器name或id
  • port-redis容器的端口映射:sudo docker run -d -p 6379:6379 --name port-redis redis
  • 删除容器:docker rm 容器id

    • 删除所有容器:docker rm ${docker -a -q}
  • 容器日志:docker logs 容器name或id
  • 登录容器:docker exec -it 容器name或id bash

docker pull wnameless/oracle-xe-11g
docker pull mongo
docker pull cloudesire/activemq
docker pull rabbitmq
socker pull rabbitmq:3-management

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/75336

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。