docker 学习(一) 基础操做

  1. 基础    docker run,attach,ps,images,exec
    1. 下载镜像
      1. docker pull 镜像名称
      2. 启动 docker run -d -p 8080:80
        1. run 镜像放入容器  
        2. -d 启动容器后台
        3. -p 把容器端口映射到主机的8080:80
      3. docker ps 列出刚运行的容器
      4. docker run -d -p 8080:80 registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5 
        1. 停掉用docker stop ID
      5. iptables -I INPUT -p tcp --dport 8080 -j ACCEPT 让防火墙放行8080  php

  2. 镜像基本操做html

    1. 拉取官方镜像web

      1. docker pull centosdocker

    2. 运行apache

      1. 交互式操做vim

        1. docker run -i -t --name myos1 centoscentos

          1. -i 与容器交互bash

          2. -t 为容器建立虚拟终端tcp

          3. - name 重命名ui

        2. 进入了

        3. exit 退出容器

        4. 用 docke ps -a 查看全部

        5. docker start myos1 再次启动

        6. 进入 

          1. exit仍是会中止

        7.  docker exec  名字  命令

        8. docker exec -i -t 名字 /bin/bash  这样后台

    3. dockerfile使用

      1. 建立新的centos

        1. 安装软件    

          1. 硬来   进入attach yum梦

          2. 利用dockerfile进去构建

      2. 案例

        1. 安装apache    在centos中 须要yum -y install httpd   

        2. dockerfile

          1. 建立目录

            1. 加入

              FROM centos:latest
              RUN yum -y install httpd  
              RUN  systemctl enable httpd.service 
              EXPOSE 80

              FROM 名称+标签   

              用原有的镜像去新建一个镜像而且安装httpd Apache  开启自启动  暴露80端口
            2. docker build -t centos:httpd .
              1. build文件夹名 -t指定镜像名称,httpd是标签 这个点很重要,表明当前文件夹下的dockerfile (能够)
            3. 让容器后台运行
              1. docker run -i -t -p 8080:80 --name myhttpd centos:httpd 
              2. docker run --privileged -d -p 8080:80 --name myhttpd centos:httpd /usr/sbin/init

                1. --privileged 添加权限 -d后台运行 -p端口 --name名称  /usr/sbin/init 容器启动后执行这个命令

                2. 访问试一下 8080端口

                3. 运行  docker exec -i -t myhttpd /bin/bash

                  1. 查看当前状态

                4. 能够在Dockerfile 加入  CMD /user/sbin/init 

                  1. 直接运行 docker exec -i -t myhttpd /bin/bash

                5. docker logs 容器名称  查看日志

              3.  共享代码

                1. vim etc/httpd/conf/httpd.conf  找到目录

                2. 挂载

                  1. docker run --privileged -d -p 8080:80 --name myhttpd -v /root/myweb:/var/www/html centos:httpd /usr/sbin/init

                    -v /home/cc/myweb:/var/www/html 本地的挂载到环境目录

                    1. 俩者编写的话代码同步

相关文章
相关标签/搜索