zoukankan      html  css  js  c++  java
  • docker

    play-with-docker主机空间:

    http://labs.play-with-docker.com/  开源的可以用4小时的主机空间,可以试验docker。这里我还可以去配置sftp连接(配了ftp,就可以在这4小时内把网站文件拉到上面随便玩。用vi命令行不能愉快的折腾)。

    比如新创建一个主机,从页面上得到这些信息:

    网页的url路径是: http://host1.labs.play-with-docker.com/p/fd376d82-4962-4bc2-994f-297468343ebe#fd376d82_node1

    fd376d82_node1

    IP 10.0.48.3

    然后在FileZilla创建一个新的连接(下面的彩色字,信息来源于上面的彩色字):

    主机: host1.labs.play-with-docker.com
    端口: 1022
    协议: SFTP
    登陆类型: 密钥文件
    用户名: 10-0-48-3-fd376d82
    密钥文件: D:cdToolsputtypwd-keyputty_key.ppk

    (密钥文件哪里来呢?  刚才建立主机的页面,在根目录输入  vi .ssh/id_rsa  ,把里面的内容拷出来,保存到本机并命名为putty_key.ppk)

    以上sftp配置完毕。

    https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html  putty  是个ssh的客户端


    练习1:折腾 play-with-docker 主机,  配置php mysql mongo python 环境:

    1、访问 http://labs.play-with-docker.com/ ,要翻墙,添加一个主机,网页的命令行界面。

    2、下载  代码压缩包 wget http://........./docker/docker-pwd.tar.gz

    3、解包并进入解包后的目录

    tar -xzf docker-pwd.tar.gz
    cd docker-pwd
    ls -lh

    4、编辑 docker-compose.yml

    5、docker服务

    docker-compose up -d  创建、运行服务
    docker-compose down  删除服务
    docker-compose ps       查看服务
    docker-compose images  查看镜像
    docker-compose exec python sh  进入 python 服务容器。输入 exit,退出服务容器
    docker-compose exec php sh       进入 php 服务容器。输入 exit,退出服务容器
    docker-compose exec mysql sh    进入mysql 服务容器。输入 exit,退出服务容器

    代码压缩包解压后的 docker-pwd 目录下的 wwwroot文件夹 为默认创建的nginx、php、python三个服务共享的根目录,当然也是网页的默认根目录,因此可以通过sftp的方式(使用FileZilla软件)直接上传和在线编辑代码

    练习2:创建集群:  play-with-docker 上,创建集群。    进入站点,点“扳手”图标

    先上传文件 nginx-stack.yml

    version: '3'
    services:
    # nginx容器
      nginx:
        image: nginx
        deploy:
          mode: global
          restart_policy:
            condition: on-failure
        networks:
          - nginx
        environment:
          TERM: xterm
          LANG: C.UTF-8      
        ports:
          - 8080:80
        
    # 设置自定义网络
    networks:
      nginx:
        driver: overlay

    运行命令:  docker stack deploy -c nginx-stack.yml abcdef

    查看集群:  docker service ls

    查看某个集群:docker service ps abcdef_nginx



    链接:

    http://www.docker.org.cn/  docker中文社区

    http://www.docker.org.cn/page/resources.html  docker相关网站链接

    http://www.docker.org.cn/book/docker/what-is-docker-16.html  入门教程

    http://www.cnblogs.com/zhaof/p/6135971.html  容器的管理操作  2017-12-6

    https://www.cnblogs.com/qcloud1001/p/9273549.html  十分钟明白什么是容器技术  2019-6-26


    正文:

    类比式的初步理解概念:

    镜像相当于是个安装光盘的软件

    容器是装了系统的正在运行的windows系统,是个运行的实例。

    主机是安装了这个环境的电脑

    volume(谐音:蜗牛)  卷  (把它看作文件夹,由docker来管理的一种虚拟的绑定的文件夹。)

    几个系统:

    ubuntu centos debian

    centOS和ubuntu是国内常用的。  centOS是面向社区的是个产品,红帽是面向公司的。  ubuntu 是在debian基础上修改的。


    例子:比如怎么去找一个镜像:

    在咕咕里搜索: docker nginx,找到 hub.docker.com 这个网址下的链接镜像。(咕咕里搜索:  site:hub.docker.com docker nginx)

    最好是选用 library/nginxlibrany 是官方来源的。

    或者是直接到 hub.docker.com 去搜索。

    例子:比如装nginx:

    https://hub.docker.com/r/richarvey/nginx-php-fpm/  点右下角:Source Repository,能进入github的链接:https://github.com/richarvey/nginx-php-fpm

    docker run -d --name=test -p 8080:80 richarvey/nginx-php-fpm:latest  (例子,这个是安装nginx的最新版本)

    docker run -d -v /code:/ --name=test -p 8080:80 richarvey/nginx-php-fpm:latest  (例子,比如装到本地code目录中)

    进入docker-compose.yml (详情请看这个文件的配置内容)这个文件所在的目录,运行:

    docker-compose -d up


    命令:

    docker version  查看docker版本

    docker search nginx(nginx是镜像名字)  搜索可用docker镜像

    docker pull richarvey/nginx-php-fpm  下载容器镜像

    docker run richarvey/nginx-php-fpm echo "hello word"  在docker容器中运行hello world  (docker run命令有两个参数,一个是镜像名,一个是要在镜像中运行的命令。)

    //练习笔记2019-8-3
    docker pull bjhhh/php-python-sshd
    //https://hub.docker.com/r/bjhhh/php-python-sshd

    2017-11-26补充:

    http://blog.csdn.net/tina_ttl/article/details/51326011  关联 github和dockerhub的账户 (重要)

    https://github.com

    https://hub.docker.com

  • 相关阅读:
    11. Container With Most Water
    9. Palindrome Number
    375. 猜数字大小 II leetcode java
    leetcode 72 编辑距离 JAVA
    73. 矩阵置零 leetcode JAVA
    快速排序 JAVA实现
    63. 不同路径 II leetcode JAVA
    重写(override)与重载(overload)
    62 不同路径 leetcode JAVA
    leetcode 56 合并区间 JAVA
  • 原文地址:https://www.cnblogs.com/qq21270/p/7684683.html
Copyright © 2011-2022 走看看