zoukankan      html  css  js  c++  java
  • 关于docker日常操作(一)

    1.docker pull miqumi/images-ubuntu16.04-0509 拉取镜像


    2.docker run -v /c/Users/admin/Desktop/svnfiles/trunk:/var/www/work --name vol-svnfiles003 miqumi/images-ubuntu16.04-0509 /bin/bash 创建数据卷
    (注:其中c/Users/admin/Desktop/svnfiles/trunk对应你创建的文件位置,如果文件位置不存在报错
    docker: Error response from daemon: Mount denied:
    The source path "C:/Users/admin/Desktop/svnfiles/trunk"
    doesn't exist and is not known to Docker.
    See 'docker run --help')


    3.docker images 查看镜像
    REPOSITORY TAG IMAGE ID CREATED SIZE
    miqumi/images-ubuntu16.04-0509 latest 08d945c5cc01 14 hours ago 823MB
    miqumi/images-miqu-server-003 latest 7268699ff7cb 4 weeks ago 1.49GB
    此时可以选择只保留一个镜像


    4.docker rmi 7268699ff7cb 移除一个镜像
    C:UsersAdministrator>docker rmi 7268699ff7cb
    Error response from daemon: conflict: unable to delete 7268699ff7cb (must be forced) - image is being used by stopped container 16ce2fa7930d
    注:移除镜像时既可用ID号7268699ff7cb也可用仓库名 miqumi/images-miqu-server-003
    注:报错不能移除因为镜像里面已经包含容器,需要关闭容器再移除镜像


    5.docker ps -a 查看容器


    6.docker stop miqu001 关闭容器


    7.docker rm miqu001 如果关闭容器无效可以选择移除容器
    C:UsersAdministrator>docker ps -a
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    (注:此时再查看容器发现容器已经不存在)


    8.docker images 再次查看镜像
    REPOSITORY TAG IMAGE ID CREATED SIZE
    miqumi/images-ubuntu16.04-0509 latest 08d945c5cc01 14 hours ago 823MB
    miqumi/images-miqu-server-003 latest 7268699ff7cb 4 weeks ago 1.49GB


    9.docker rmi 7268699ff7cb 移除镜像


    10.docker images 再次查看镜像
    C:UsersAdministrator>docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    miqumi/images-ubuntu16.04-0509 latest 08d945c5cc01 14 hours ago 823MB


    11.docker run -it --volumes-from vol-svnfiles003 --name umiqu0509 -p 30009:80 miqumi/images-ubuntu16.04-0509 /bin/bash 创建数据卷
    加载数据卷失败并且发现容器没有创建成功
    报错:C:UsersAdministrator>docker run -v E:/Gitlab_files/app_api-master:/var/www/work --name vol-svnfiles003 miqumi/images-ubuntu16.04-0509 /bin/bash
    docker: Error response from daemon: An error occured while sharing drive.
    See 'docker run --help'.
    共享文件的时候需要输入windows用户password


    12.解决之后docker run -v E:Gitlab_filesapp_api-master:/var/www/work --name vol-svnfiles003 miqumi/images-ubuntu16.04-0509 /bin/bash
    注:文件路径输入必须正确


    13.查看容器发现创建成功docker ps -a
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    ca3e86e93829 miqumi/images-ubuntu16.04-0509 "/bin/bash" 12 seconds ago Exited (0) 10 seconds ago vol-svnfiles003


    14.加载数据卷并从镜像中开启一个容器
    docker run -it --volumes-from vol-svnfiles003 --name umiqu0509 -p 30009:80 miqumi/images-ubuntu16.04-0509 /bin/bash


    15.# ls输出当前目录


    16.# cd /var/www切换到指定目录


    17.# cd ..退出当前目录


    18.# ps -ef 用于查看当前所有的进程。
    1.UID 用户ID
    2.PID 进程ID
    3.PPID 父进程ID
    4.C CPU占用率
    5.STIME 开始时间
    6.TTY 开始此进程的TTY----终端设备
    7.TIME 此进程运行的总时间
    8.CMD 命令名


    19./var 文件系统
    /var 包含系统一般运行时要改变的数据。通常这些数据所在的目录的大小是要经常变化或扩充的。原来 /var 目录中有些内容是在 /usr 中的,但为了保持 /usr 目录的相对稳定,就把那些需要经常改变的目录放到 /var 中了。每个系统是特定的,即不通过网络与其他计算机共享。下面列出一些重要的目录 ( 一些不太重要的目录省略了 ) 。

    20.root@deb3c96dc837:/var/www# /etc/init.d/nginx start
    服务器开启

    21.root@deb3c96dc837:/var/www# /etc/init.d/php7.0-fpm start
    php开启

    22.root@deb3c96dc837:/var/www# ps -ef
    UID PID PPID C STIME TTY TIME CMD
    root 1 0 0 02:28 pts/0 00:00:00 /bin/bash
    root 38 1 0 02:30 ? 00:00:00 nginx: master process /usr/sbin/nginx
    www-data 39 38 0 02:30 ? 00:00:00 nginx: worker process
    www-data 40 38 0 02:30 ? 00:00:00 nginx: worker process
    root 63 1 0 02:30 ? 00:00:00 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
    www-data 64 63 0 02:30 ? 00:00:00 php-fpm: pool www
    www-data 65 63 0 02:30 ? 00:00:00 php-fpm: pool www
    root 66 1 0 02:30 pts/0 00:00:00 ps -ef
    查看当前进程

    23.root@deb3c96dc837:/var/www# ls
    basic html work

    24.root@deb3c96dc837:/var/www# cd work
    root@deb3c96dc837:/var/www/work# ls
    app common vendor yii 切换到work

    补充:
    Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker中称为数据卷(Data Volume)。数据卷可以用来存储Docker应用的数据,也可以用来在Docker容器间进行数据共享。
    数据卷呈现给Docker容器的形式就是一个目录,支持多个容器间共享,修改也不会影响镜像


    Docker数据持久化:
    容器在运行期间产生的数据是不会写在镜像里面的,重新用此镜像启动新的容器就会初始化镜像,会加一个全新的读写入层来保存数据。
    如果想做到数据持久化,Docker提供数据卷(Data volume)或者数据容器卷来解决问题,另外还可以通过commit提交一个新的镜像来保存产生的数据。

  • 相关阅读:
    PHP程序员的40点陋习
    配置php.ini实现PHP文件上传功能
    PHP的线程安全与非线程安全版本的区别
    IIS下PHP的三种配置方式比较
    fir.im Weekly
    fir.im Weekly
    fir.im Weekly
    fir.im Weekly
    fir.im Weekly
    fir.im Weekly
  • 原文地址:https://www.cnblogs.com/starmoon2019/p/9019380.html
Copyright © 2011-2022 走看看