• 3.1 使用Docker创建容器以及管理命令


    1. 创建 Apache 容器

    [root@centos7 ~]# docker run -d -p 80:80 httpd
    // -d: 放入后台运行 // -p: 指定端口映射关系(第一个为本地端口、第二个为容器端口)

    2. 创建 Nginx 容器

    [root@centos7 ~]# docker run -d -p 8080:80 nginx

    // 将本地的 8080 端口映射到容器的 80 端口;

     

    3. 查看容器

    [root@centos7 ~]# docker ps -a

    // docker ps 命令时查看运行中的容器
    // -a 选项是查看所以容器(不论容器属于什么状态)

    4. 测试容器是否启动成功

     测试HTTP服务80端口:

     

    测试nginx服务8080端口:

     

    5. 查看 docker 标准输出

    [root@centos7 ~]# docker ps -a
    [root@centos7 ~]# docker logs “容器ID”

    6. 停止和启动容器

    # 查看容器ID:
    [root@centos7 ~]# docker ps -a
    # 停止容器,使用容器ID来指定: [root@centos7
    ~]# docker stop “容器ID”
    # 再次查看容器运行状态: [root@centos7
    ~]# docker ps -a # 启动已停止的容器,ID来指定: [root@centos7 ~]# docker start “容器ID”
    # 再次查看容器运行状态: [root@centos7
    ~]# docker ps -a

    7. 删除容器

    # 查看容器:
    [root@centos7 ~]# docker ps -a
    # 强制删除容器(谨慎使用该命令) [root@centos7
    ~]# docker rm -f “容器ID”

    8. 查询端口映射

    [root@centos7 ~]# docker port “容器ID”
    80/tcp -> 0.0.0.0:80

    9. 容器为任务而生

    [root@centos7 ~]# docker run httpd echo "www"
    www
    [root@centos7 ~]# docker ps -a

    10.进入容器修改内容

    [root@centos7 ~]# docker exec -it “容器ID” /bin/bash
    root@f1507b05b31c:/usr/local/apache2#        # 已经入容器

    root@f1507b05b31c:/usr/local/apache2/htdocs# pwd
    /usr/local/apache2/htdocs
    root@f1507b05b31c:/usr/local/apache2/htdocs# echo Hello > index.html

    注:容器本身是个精简化的东西,未自带vi和vim命令,在未安装之前我们简单通过重定向进入测试。

    测试:

    11. 查询容器详细信息

    [root@centos7 ~]# docker inspect “容器ID”

    12. 复制本地文件到容器中

    [root@centos7 ~]# docker cp /etc/profile 容器ID:/root
    [root@centos7 ~]# docker exec -it f15 /bin/bash

    // “f15” 是容器的省略ID

    13. 本地目录跟容器目录挂载

    创建本地挂载目录:

    [root@centos7 ~]# mkdir /root/httpd_data

    创建容器:

    [root@centos7 ~]# docker run -d -p 80:80 -v /root/httpd_data:/usr/local/apache2/htdocs  --privileged=true  httpd
    // -v 本地目录/root/httpd_data 容器目录/usr/local/apache2/htdocs
    // --privileged=true 关闭安全权限,否则你容器操作文件夹没有权限

    测试目录是否挂载成功:

    # 在本地挂载的目录下创建一个文件,我这里创建的是HTML文件
    [root@centos7 ~]# cd httpd_data/ [root@centos7 httpd_data]# cat test.html Test

    进入容器目录查看是否已创建:

    # 进入容器
    [root@centos7 httpd_data]# docker exec -it 24 /bin/bash

    # 进入挂载目录 root@246f1a196a9b:
    /usr/local/apache2# ls bin build cgi-bin conf error htdocs icons include logs modules root@246f1a196a9b:/usr/local/apache2# cd htdocs/

    # 查看文件内容 root@246f1a196a9b:/usr/local/apache2/htdocs# ls test.html root@246f1a196a9b:/usr/local/apache2/htdocs# cat test.html Test

    # 完成容器目录跟本地目录的挂载!

    这是一些Docker的简单而常用的命令,更多命令可以使用“--help”来了解使用。

  • 相关阅读:
    [币严区块链]数字货币交易所之比特币(BTC)钱包对接 | 自建节点JSON-RPC访问
    [币严区块链]以太坊(ETH)Dapp开发入门教程之宠物商店领养游戏
    一句话的设计模式
    在线捉鬼游戏开发
    华容道程序求解
    利用多态,实现一般处理程序(ashx)中的AOP(切面编程)
    客户端-服务器端互动比较与原生实例(比较ajax,server-sent event,websocket/netsocket)
    在线捉鬼游戏开发之三
    在线捉鬼游戏开发之三
    在线捉鬼游戏开发之三
  • 原文地址:https://www.cnblogs.com/l-hh/p/10772942.html
Copyright © 2020-2023  润新知