zoukankan      html  css  js  c++  java
  • Docker基础

    Docker基础

    安装Docker

    • yum install -y docker

    启动Docker服务(Docker Engine)

    • systemctl start docker

    Docker配置文件

    • Docker数据文件在/var/lib/docker/devicemapper/devicemapper/data目录下

    Docker下载镜像

    1. docker pull docker.io/NAME 拉取镜像
    2. docker pull 其他网站的url/name 拉取镜像

    Docker启动一个实例

    • 前奏: echo 1 > /proc/sys/net/ipv4/ip_forward开始网络转发, 不开就上不了网; 或者vim /etc/sysctl.conf
    
    net.ipv4.ip_forward = 1
    
    * 接着使用命令`sysctl -p`生效
    
    • docker run -it centos:latest /bin/bash

      • -i: interactive
      • -t: tty, 一般-i与-t一起使用
      • 一般-i与-t一起使用, 所以-it
      • centos为镜像, latest为一个标签, 类似于git的一个版本, centos是我们的项目, latest就是版本
      • /bin/bash为docker启动执行的命令
    • docker run 启动持久的服务

      • docker run -d docker.io/centos:latest bash -c "echo hello world"
        • -d: 为daemon
        • -c: 为后序要执行的命令
        • 返回容器id
    • docker ps: 列出运行中容器
      • -a: 列出所有容器

    进入正在运行的容器

    • docker exec -it containerId /bin/bash # 相当于开启一个新的tty并执行bash进入

    Docker删除一个容器

    • docker rm containerId

    Docker关闭运行中的容器

    • docker stop containerId

    Docker杀死运行中的容器

    • docker kill containterId

    保存镜像的两种方式

    方法一

    • docker commit containerId imageName

    方法二

    • 使用Dockerfile文件
    
    FROM docker.io/images:tag # 根据该镜像启动一个容器
    MAINTAINER <name@domain> # 作者邮箱
    RUN yum install -y httpd # 在容器中执行命令, 一般用于安装软件
    ADD file /usr/local/bin/file # 将当前目录下的file拷贝到容器中/usr/local/bin/file
    CMD echo hello, world # 一个Dockerfile只能执行一个CMD, 最后一个CMD有效, 一般用于启动服务
    EXPOSE 80 # 开放80端口
    
    • docker build -t imgName:tag DockerfilePath
      • -t 表示标签
      • tag随意, imgName需要时FROM中提到的

    发布保存的镜像

    • docker save -o ***.tar imgName:tag

    删除镜像

    • docker rmi imgId

    导入本地镜像

    • docker load -i ***.tar

    读取日志

    • docker logs ContainerID

    端口映射

    • 在使用docker run使用使用-p 主机ip:containerIP即可

    DockerHub登录

    docker命令登录到DockerHub上

    • docker login -u username -p password -e email
    • 使用docker push img:tag发布镜像到DockerHub
  • 相关阅读:
    浅谈RPC和RESTFUL
    HTTP协议
    为博客园文章添加目录的方法
    Https的介绍
    【Locust】Locust学习总结
    从零开发接口自动化框架
    VMware VCSA 6.7创建和管理Clusters
    VMware ESXi 6.7主机防火墙
    VMware VCSA 6.7分布式交换机
    VMware VCSA 6.7标准交换机
  • 原文地址:https://www.cnblogs.com/megachen/p/10343870.html
Copyright © 2011-2022 走看看