• docker环境搭建


    参考地址:https://www.imooc.com/article/details/id/25228

    操作系统Centos7

    1、替换yum源为阿里云yum源;

      

    //备份yum源
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    
    //下载阿里yunyum源
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    
    //清除yum缓存
    yum clean all
    
    //生成yum缓存
    yum makecache

    2、安装docker

      查看yum可以安装的docker,命令:yum list |grep docker

      

      执行安装命令:yum install docker

      安装完成之后,查看已经安装的docker,命令:yum list installed |grep docker

    可以看出,安装docker需要三个包,见上图

    3、添加开机启动

      命令:systemctl enable docker.service

    4、启动docker

      命令:systemctl start docker.service

      启动失败,报错信息,查看命令:journalctl -xe,具体错误信息见下图:

    此linux的内核中的SELinux不支持 overlay2 graph driver ,解决方法有两个,要么启动一个新内核,要么就在docker里禁用selinux,--selinux-enabled=false

    修改文件,/etc/sysconfig/docker,在--selinux-enabled后面添加=false即可!具体修改见下图


    重启docker,命令:systemctl restart docker.service

    查看docker信息,命令:docker info
    [root@localhost ~]# docker info
    Containers: 1
     Running: 0
     Paused: 0
     Stopped: 1
    Images: 1
    Server Version: 1.13.1
    Storage Driver: overlay2
     Backing Filesystem: xfs
     Supports d_type: true
     Native Overlay Diff: false
    Logging Driver: journald
    Cgroup Driver: systemd
    Plugins: 
     Volume: local
     Network: bridge host macvlan null overlay
    Swarm: inactive
    Runtimes: docker-runc runc
    Default Runtime: docker-runc
    Init Binary: /usr/libexec/docker/docker-init-current
    containerd version:  (expected: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1)
    runc version: e9c345b3f906d5dc5e8100b05ce37073a811c74a (expected: 9df8b306d01f59d3a8029be411de015b7304dd8f)
    init version: 5b117de7f824f3d3825737cf09581645abbe35d4 (expected: 949e6facb77383876aeff8a6944dde66b3089574)
    Security Options:
     seccomp
      WARNING: You're not using the default seccomp profile
      Profile: /etc/docker/seccomp.json
    Kernel Version: 3.10.0-514.el7.x86_64
    Operating System: CentOS Linux 7 (Core)
    OSType: linux
    Architecture: x86_64
    Number of Docker Hooks: 3
    CPUs: 2
    Total Memory: 2.731 GiB
    Name: localhost.localdomain
    ID: NDA4:FMH4:OVC2:HARD:3Q4V:ZWIE:UTJU:YVR3:AFEE:FOBN:54NL:GXGU
    Docker Root Dir: /var/lib/docker
    Debug Mode (client): false
    Debug Mode (server): false
    Registry: https://index.docker.io/v1/
    Experimental: false
    Insecure Registries:
     127.0.0.0/8
    Live Restore Enabled: false
    Registries: docker.io (secure)

    Hello World

    下面,我们通过最简单的 image 文件"hello world",感受一下 Docker。

    因为国内连接 Docker 的官方仓库很慢,因此我们在日常使用中会使用Docker 中国加速器。通过 Docker 官方镜像加速,中国区用户能够快速访问最流行的 Docker 镜像。该镜像托管于中国大陆,本地用户现在将会享受到更快的下载速度和更强的稳定性,从而能够更敏捷地开发和交付 Docker 化应用。

    Docker 中国官方镜像加速可通过registry.docker-cn.com访问。该镜像库只包含流行的公有镜像,私有镜像仍需要从美国镜像库中拉取。

    修改系统中docker对应的配置文件即可,如下:

    vi  /etc/docker/daemon.json
    #添加后
    {    "registry-mirrors": ["https://registry.docker-cn.com"],    "live-restore": true}

    也可以替换成网易的镜像地址

    {
      "registry-mirrors": ["http://hub-mirror.c.163.com"]
    }

    我们选择用网易的镜像地址。

    运行下面的命令,将 image 文件从仓库抓取到本地。

    docker pull library/hello-world

    上面代码中,docker image pull是抓取 image 文件的命令。library/hello-world是 image 文件在仓库里面的位置,其中library是 image 文件所在的组,hello-world是 image 文件的名字。

    抓取成功以后,就可以在本机看到这个 image 文件了。

    查看下载的镜像,命令:docker images

    [root@localhost docker]# docker images
    REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
    docker.io/hello-world   latest              e38bc07ac18e        7 weeks ago         1.85 kB

    运行hello-world镜像,命令:docker run hello-world

    [root@localhost docker]# docker run hello-world
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    
    To generate this message, Docker took the following steps:
     1. The Docker client contacted the Docker daemon.
     2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
        (amd64)
     3. The Docker daemon created a new container from that image which runs the
        executable that produces the output you are currently reading.
     4. The Docker daemon streamed that output to the Docker client, which sent it
        to your terminal.
    
    To try something more ambitious, you can run an Ubuntu container with:
     $ docker run -it ubuntu bash
    
    Share images, automate workflows, and more with a free Docker ID:
     https://hub.docker.com/
    
    For more examples and ideas, visit:
     https://docs.docker.com/engine/userguide/

    常用命令

    除过以上我们使用的Docker命令外,Docker还有一些其它常用的命令

    拉取docker镜像

    docker pull image_name

    查看宿主机上的镜像,Docker镜像保存在/var/lib/docker目录下:

    docker images

    删除镜像

    docker rmi  docker.io/tomcat:7.0.77-jre7   或者  docker rmi b39c68b7af30

    查看当前有哪些容器正在运行

    docker ps

    查看所有容器

    docker ps -a

    启动、停止、重启容器命令:

    docker start container_name/container_iddocker stop container_name/container_iddocker restart container_name/container_id

    后台启动一个容器后,如果想进入到这个容器,可以使用attach命令:

    docker attach container_name/container_id

    删除容器的命令:

    docker rm container_name/container_id

    查看当前系统Docker信息

    docker info

    从Docker hub上下载某个镜像:

    docker pull centos:latestdocker pull centos:latest

    执行docker pull centos会将Centos这个仓库下面的所有镜像下载到本地repository。

  • 相关阅读:
    Sendkeys 和 Sendmessage 使用技巧一例
    和菜鸟一起学算法之二分法求极值问题
    和菜鸟一起学算法之三分法求极值问题
    和菜鸟一起学证券投资之国内生产总值GDP
    和菜鸟一起学OK6410之Led字符驱动
    和菜鸟一起学OK6410之最简单驱动模块hello world
    和菜鸟一起学OK6410之交叉编译hello world
    和菜鸟一起学android4.0.3源码之touchscreen配置+调试记录
    和菜鸟一起学android4.0.3源码之红外遥控器适配
    和菜鸟一起学OK6410之最简单字符驱动
  • 原文地址:https://www.cnblogs.com/dyh004/p/9115899.html
Copyright © 2020-2023  润新知