• Docker快速入门


    介绍

    Docker 有点像虚拟机。但与虚拟机不同,Docker不是创建一个完整的虚拟操作系统,而是通过共享宿主机内核资源,创建一个个隔离的环境来运行应用程序。这样可以显著提升性能并缩小应用程序的大小。

    安装

    centos 下

    $ sudo yum install -y yum-utils
    $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    $ sudo yum install docker-ce docker-ce-cli containerd.io
    #启动服务
    $ sudo systemctl start docker
    #设为开机启动(可选)
    $ sudo systemctl enable docker
    #测试
    $ sudo docker run hello-world
    #将当前用户加入docker用户组,执行docker命令不用sudo
    $ sudo usermod -aG docker your-user
    

    安装完成后开启加速,修改 /etc/docker/daemon.json 配置,使用中国镜像加速

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

    重启 sudo systemctl daemon-reload && sudo systemctl restart docker 后生效

    基本使用

    docker 有三个概念:仓库,镜像,容器

    1. 仓库:存储镜像,类似 github 的仓库。
    2. 镜像:一个可执行包,包含运行应用程序所需的所有内容,代码,依赖,环境变量和配置文件。
    3. 容器: 运行中的镜像的一个实例。

    操作镜像

    搜索一个镜像,以 nginx 为例

    $ docker search nginx
    

    拉取一个 nginx 镜像到本地,默认拉取 latest tag 的镜像,可以去 https://hub.docker.com/_/nginx?tab=tags 选择你想要的 tag 进行拉取

    $ docker pull nginx[:tag]
    

    运行一个镜像,如果本地没有这个镜像,会先进行 pull 操作

    ## --rm 容器停止后删除
    ## -p 端口转发  --name 命名容器
    $ docker run --rm -p 8080:80 --name my-nginx nginx
    

    然后浏览器打开 http://127.0.0.1:8080/

    此时会在终端打印出 nginx 日志,想要后台运行加 -d 参数

    列出本地镜像,可以看到刚才拉取的 nginx

    $ docker image ls #等于docker images
    

    删除一个或多个本地镜像,-f 强制,image_id 无需全部打出,只要不冲突打前一位都没问题

    $ docker image rm IMAGE_ID1 [ IMAGE_ID2 IMAGE_ID3]
    

    或者 docker rmi ... 也是删除镜像

    操作容器

    一个镜像运行起来就是一个容器了,接着上面运行起来 nginx 后,新开一个终端

    列出/停止/删除容器

    $ docker container ls #[-a所有,包括停止的]
    $ docker stop/rm CONTAINER_ID #[or name]
    

    进入一个容器

    $ docker exec -it my-nginx /bin/sh
    

    结语

    这里只写了一些最简单的基本操作,想要深入了解请查阅官方文档

    推荐 Docker — 从入门到实践

  • 相关阅读:
    thinkphp使用ajax程序报500错误
    非隐藏转发和隐藏转发的区别及选择
    表单文件(图片)上传到服务器,权限自动变成363,无法访问
    我收到了互联网应急中心的通报!记sqlmap的正确打开方式。
    css字体可以小于12px!被小米官网打脸
    阿里云CDN添加域名80端口和443端口什么区别?
    网站使用海外服务器,国内访问很慢的解决方案
    linux下设置php文件不区分大小写
    国际化
    Spring boot2.0学习笔记(一)
  • 原文地址:https://www.cnblogs.com/luke44/p/docker-quickly-doc.html
Copyright © 2020-2023  润新知