热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

docker使用基础(一)

docker使用基础(一)1、我们需要掌握docker的简单安装使用;2、镜像管理、镜像

docker使用基础(一)

1、我们需要掌握docker的简单安装使用;
2、镜像管理、镜像解包成容器,打标签;
3、容器管理、容器打包成镜像,进入容器;
4、查看容器运行时日志;
5、docker的磁盘占用情况;
6、将本地容器推送到dockerHub远端仓库;

一、docker安装

yum install -y docker

systemctl start docker.service

systemctl enable docker.service

docker version


(1)、配置docker国内镜像

vim etc/docker/daemon.json(没有时新建该文件)

{

"registry-mirrors": [

"https://d8b3zdiw.mirror.aliyuncs.com",

"https://reg-mirror.qiniu.com",

"http://hub-mirror.c.163.com"

]

}


(2)、重启docker并验证云端是否可以正常访问

systemctl daemon-reload //重新加载配置文件

systemctl restart docker

docker run hello-world


二、Dockerfile(下载镜像和构建上层容器)

1、先增加一个项目文件夹,名字随意,进入该文件夹并且在该文件夹下新建文件Dockerfile,内容如下(其实这是esayswoole官网上面的一个Dockerfile,我们把他拿过来直接使用学习也可以):

    FROM centos:7


    #version defined
    ENV SWOOLE_VERSION 4.4.12
    ENV EASYSWOOLE_VERSION 3.x-dev


    #install libs
    RUN yum install -y curl zip unzip wget openssl-devel gcc-c++ make autoconf


    #install php
    RUN yum install -y epel-release
    RUN rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
    RUN yum clean all
    RUN yum update -y
    RUN yum install -y php71w-devel php71w-openssl php71w-mbstring


    # composer
    RUN curl -sS https://install.phpcomposer.com/installer | php \
    && mv composer.phar usr/bin/composer


    # use aliyun composer
    RUN composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/


    # swoole ext
    RUN wget https://github.com/swoole/swoole-src/archive/v${SWOOLE_VERSION}.tar.gz -O swoole.tar.gz \
    && mkdir -p swoole \
    && tar -xf swoole.tar.gz -C swoole --strip-compOnents=1 \
    && rm swoole.tar.gz \
    && ( \
    cd swoole \
    && phpize \
    && ./configure --enable-openssl \
    && make \
    && make install \
    ) \
    && sed -i "2i extension=swoole.so" etc/php.ini \
    && rm -r swoole


    # Dir
    WORKDIR /easyswoole


    # install easyswoole


    RUN cd easyswoole \
    && composer require easyswoole/easyswoole=${EASYSWOOLE_VERSION} \
    && php vendor/bin/easyswoole install


    EXPOSE 9501

    2、根据Dockerfile构建image,再根据image解包container.

    docker build -t easyswoole:1.0 . //构建docker镜像

    docker run -itd -p 9501:9501 --name easyswoole easyswoole:1.0 /bin/bash //将镜像解包成容器,映射容器端口:本地端口,并运行


    (1)、用docker构建nginx服务

    • images镜像下载

    docker search nginx

    docker pull nginx:latest//最近的,最新的


    • 镜像

    docker images //列出镜像

    docker image ls //列出镜像

    docker image ls easyswoole //列出easyswoole的镜像

    docker images ls -f dangling=true //悬浮镜像

    docker image prune //清理悬浮镜像

    docker image ls -a //中间镜像显示

    docker rmi <镜像ID> //可以删除镜像


    • 解包构建并运行容器

    docker run --name nginx-test -p 8081:80 -d nginx


    参数说明:
    –name nginx-test:容器名称。
    -p 8080:80:端口进行映射,将本地 8081 端口映射到容器内部的 80 端口。
    -d nginx:设置容器在在后台一直运行。

    三、容器管理

    • i.创建一个新的容器并运行一个命令:

    docker run -it -p 9501:9501 --name easyswoole easyswoole:1.0


    -i: 交互式操作。
    -t: 终端。
    -d:后台运行
    -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
    -v: 绑定一个卷或目录
    -e:设置环境变量,如可设置mysql密码-e MYSQL_ROOT_PASSWORD=123456;

    • ii.在容器中运行程序:

    php vendor/bin/easyswoole start d //以后台运行该程序

    php vendor/bin/easyswoole stop


    A、容器查看

    docker ps -a //查看可以运行的所有容器

    docker ps //查看正在运行的容器


    B、容器的更新和删除
    • i.删除

      docker rm -f <容器ID> /删除单个容器
      docker container prune //清理所有处于终止状态的容器

    • ii.启动

      docker start <容器ID> //启动单个容器
      docker exec -it <容器ID> /bin/bash //退出容器终端,不会导致容器的停止
      docker attach <容器ID> //退出容器终端,会导致容器的停止

    C、容器运行日志

    docker logs –tail 10 -tf <容器ID> //查看

    D、容器打包成镜像

    docker commit -a "liyb" -m "nginx" <容器ID> <仓库名称:标签>

    docker commit -a "liyb" -m "测试使用的demo,是一个Nginx镜像,删除即可" 72595793d360 test:1.0


    可以加的参数:
    -a:提交的镜像作者;
    -c:使用Dockerfile指令来创建镜像;
    -m:提交时的说明文字;
    -p:在commit时,将容器暂停;

    四、docker账户和云端镜像

    去该网站申请一个账号https://hub.docker.com/,用申请到的账号登录,创建一个Repositories。

    docker login

    docker logout


    (1)、将本地镜像,将其归为某一仓库

    docker tag test:1.0 wuliaomumulin/test:1.0

    (2)、推送到远端

    docker push wuliaomumulin/test:1.0

    (3)、从远端拉取仓库

    docker pull wuliaomumulin/test:1.0

    如果想要删除dockerHub的仓库的话,很简单,直接去仓库页面下面,点击导航栏的Settings下面的delete Repository即可。

    五、杂项

    docker rm/rmi -f //删除指定容器或镜像
    编辑配置文件 /etc/systemd/system/multi-user.target.wants/docker.service ,在环境变量 ExecStart后面添加 -H tcp://0.0.0.0,允许来自任意 IP 的客户端连接。
    docker -H 192.168.47.134 info
    docker system df //硬盘占用




    推荐阅读
    author-avatar
    舅舅家123_204
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有