热门标签 | 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 //硬盘占用




    推荐阅读
    • k8s进阶之搭建私有镜像仓库
      企业级私有镜像仓 ... [详细]
    • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
    • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
      本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
    • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
    • Activiti7流程定义开发笔记
      本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
    • Hibernate延迟加载深入分析-集合属性的延迟加载策略
      本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
    • 1.脚本功能1)自动替换jar包中的配置文件。2)自动备份老版本的Jar包3)自动判断是初次启动还是更新服务2.脚本准备进入ho ... [详细]
    • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
    • Docker下Prometheus和Grafana三部曲之一:极速体验
      开源监控工具Prometheus目前广为使用,配合Grafana即可直观展现监控数据,但对于初学者来说搭建这样一个系统要花费些时间,或者有 ... [详细]
    • Docker安装Nginx 反向代理服务器
      前端代码扔在服务器上怎么运行,首先安装Nginx,这里我用Docker安装Nginx文章目录一、安装nginxdocker镜像1、获取nginx官方镜像 ... [详细]
    • 【云计算】Dockerfile、镜像、容器快速入门 ... [详细]
    • linux clickhouse安装在指定目录_Centos8服务器指定目录安装配置Nginx
      1.安装前准备(1)检查是否安装过nginx(如果没有安装过可以无视)find-namenginx搜索nginx文件及其文件夹rm-rf【nginx配置地址文件及其文件夹】手动删除 ... [详细]
    • phpstudy云服务器安装,如何安装phpstudy
      本文目录一览:1、phpstudy安装在哪本地电脑还是服务器? ... [详细]
    • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
    • 本文介绍了在无法联网的情况下,通过下载rpm包离线安装zip和unzip的方法。详细介绍了如何搜索并下载合适的rpm包,以及如何使用rpm命令进行安装。 ... [详细]
    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社区 版权所有