zoukankan      html  css  js  c++  java
  • docker入门

    #系统环境centos最少是版本7

    [root@localhost ~]# uname -a
    Linux localhost.localdomain 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

    #我已经安装过了

    [root@localhost ~]# yum -y install docker
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirror.jdcloud.com
     * extras: mirror.jdcloud.com
     * updates: mirrors.tuna.tsinghua.edu.cn
    Package 2:docker-1.13.1-103.git7f2769b.el7.centos.x86_64 already installed and latest version
    Nothing to do

    #启动、查看docker

    [root@localhost ~]# systemctl start docker
    [root@localhost ~]# systemctl status docker
    ● docker.service - Docker Application Container Engine
       Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
       Active: active (running) since Wed 2019-10-30 19:46:44 CST; 39s ago
         Docs: http://docs.docker.com
     Main PID: 11582 (dockerd-current)
       CGroup: /system.slice/docker.service
               ├─11582 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriv...
               └─11588 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir...

    Oct 30 19:46:44 localhost.localdomain dockerd-current[11582]: time="2019-10-30T19:46:44.817846283+08:00" level=info msg="Loading containers: start."
    Oct 30 19:46:44 localhost.localdomain dockerd-current[11582]: time="2019-10-30T19:46:44.827900183+08:00" level=warning msg="Running modprobe bridge br_netfilter failed ...
    Oct 30 19:46:44 localhost.localdomain dockerd-current[11582]: time="2019-10-30T19:46:44.844246739+08:00" level=info msg="Firewalld running: false"
    Oct 30 19:46:44 localhost.localdomain dockerd-current[11582]: time="2019-10-30T19:46:44.907587140+08:00" level=info msg="Default bridge (docker0) is assigned wi...address"
    Oct 30 19:46:44 localhost.localdomain dockerd-current[11582]: time="2019-10-30T19:46:44.948857467+08:00" level=info msg="Loading containers: done."
    Oct 30 19:46:44 localhost.localdomain dockerd-current[11582]: time="2019-10-30T19:46:44.949557485+08:00" level=warning msg="Not using native diff for overlay2, ... to fix"
    Oct 30 19:46:44 localhost.localdomain dockerd-current[11582]: time="2019-10-30T19:46:44.959422114+08:00" level=info msg="Daemon has completed initialization"
    Oct 30 19:46:44 localhost.localdomain dockerd-current[11582]: time="2019-10-30T19:46:44.959439921+08:00" level=info msg="Docker daemon" commit="7f2769b/1.13.1" ...n=1.13.1
    Oct 30 19:46:44 localhost.localdomain systemd[1]: Started Docker Application Container Engine.
    Oct 30 19:46:44 localhost.localdomain dockerd-current[11582]: time="2019-10-30T19:46:44.967216716+08:00" level=info msg="API listen on /var/run/docker.sock"
    Hint: Some lines were ellipsized, use -l to show in full.

    #搜索镜像

    [root@localhost ~]# docker search centos
    INDEX       NAME                                         DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
    docker.io   docker.io/centos                             The official build of CentOS.                   5640      [OK]       
    docker.io   docker.io/ansible/centos7-ansible            Ansible on Centos7                              125                  [OK]

    #拉取镜像

    [root@localhost src]# docker pull centos
    Using default tag: latest
    Trying to pull repository docker.io/library/centos ...
    latest: Pulling from docker.io/library/centos
    729ec3a6ada3: Pull complete
    Digest: sha256:f94c1d992c193b3dc09e297ffd54d8a4f1dc946c37cbeceb26d35ce1647f88d9
    Status: Downloaded newer image for docker.io/centos:latest

    #查看镜像

    [root@localhost src]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    docker.io/centos    latest              0f3e07c0138f        4 weeks ago         220 MB

    #导入镜像

    [root@localhost src]# docker load --input centos.tar

    #导出镜像

    [root@localhost src]# docker save -o centos.tar centos

    #删除镜像

    [root@localhost src]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    docker.io/nginx     latest              540a289bab6c        7 days ago          126 MB
    docker.io/centos    latest              0f3e07c0138f        4 weeks ago         220 MB
    [root@localhost src]# docker rmi 540a289bab6c(镜像的IMAGE ID)

    [root@localhost src]# docker run centos /bin/echo "Hello world"
    Hello world
    [root@localhost src]# docker ps -a
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                    PORTS               NAMES
    1eb782ca5ba3        centos              "/bin/echo 'Hello ..."   2 seconds ago       Exited (0) 1 second ago                       elastic_haibt

    #开启一个mydocker的容器,启动tty和标准输入输出

    [root@localhost src]# docker run --name mydocker -t -i centos /bin/bash
    [root@5aaaea3cbb0a /]#

    #启动停止的docker进程

    [root@localhost src]# docker ps -a
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                            PORTS               NAMES
    5aaaea3cbb0a        centos              "/bin/bash"              12 minutes ago      Exited (127) About a minute ago                       mydocker
    1eb782ca5ba3        centos              "/bin/echo 'Hello ..."   16 minutes ago      Exited (0) 16 minutes ago                             elastic_haibt
    79cfe0f6abd9        centos              "/bin/echo 'Hello ..."   3 hours ago         Exited (0) 3 hours ago                                hopeful_shaw
    [root@localhost src]# docker start mydocker
    mydocker
    [root@localhost src]# docker ps -a
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
    5aaaea3cbb0a        centos              "/bin/bash"              13 minutes ago      Up 3 seconds                                    mydocker
    1eb782ca5ba3        centos              "/bin/echo 'Hello ..."   17 minutes ago      Exited (0) 17 minutes ago                       elastic_haibt
    79cfe0f6abd9        centos              "/bin/echo 'Hello ..."   3 hours ago         Exited (0) 3 hours ago                          hopeful_shaw

     #进入正在运行的docker容器中

    #attach进入后退出docker进程也会结束

    [root@localhost src]# docker attach mydocker
    [root@5aaaea3cbb0a /]#

    #获取docker的Pid(如果结果是0,则进程可能未启动)

    [root@localhost src]# docker inspect -f "{{ .State.Pid }}" mydocker
    12312

    [root@localhost src]# nsenter -t 12312 -m -u -i -n -p
    [root@5aaaea3cbb0a /]# ps -ef
    UID        PID  PPID  C STIME TTY          TIME CMD
    root         1     0  0 03:51 ?        00:00:00 /bin/bash
    root        14     0  0 04:10 ?        00:00:00 -bash
    root        27    14  0 04:10 ?        00:00:00 ps -ef

    #如果没有nsenter命令可以用yum安装(yum -y install util-linux)

     [root@5aaaea3cbb0a /]# exit
    logout
    [root@localhost src]# docker ps -a
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
    5aaaea3cbb0a        centos              "/bin/bash"              46 minutes ago      Up 21 minutes                                   mydocker

    #不进入容器执行命令EXEC

    [root@localhost ~]# docker exec mydocker whoami
    root

    #exec也能进入容器内部

    [root@localhost ~]# docker exec -it mydocker /bin/bash
    [root@5aaaea3cbb0a /]#

    * 参考oldboy视频整理

  • 相关阅读:
    浅谈JS严格模式
    浅谈自记忆函数
    浅谈padding
    JS在if中的强制类型转换
    JS正则表达式从入门到入土(10)—— 字符串对象方法
    JS正则表达式从入门到入土(9)—— test方法以及它的那些坑
    JS正则表达式从入门到入土(8)—— REGEXP对象属性
    从零开始的vue学习笔记(四)
    从零开始的vue学习笔记(三)
    从零开始的vue学习笔记(二)
  • 原文地址:https://www.cnblogs.com/sparkss/p/11763514.html
Copyright © 2011-2022 走看看