zoukankan      html  css  js  c++  java
  • docker 一些常用命令

    CentOS7.x安装Docker

    # 安装依赖包

    yum install -y yum-utils device-mapper-persistent-data lvm2

    # 添加Docker软件包源

    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

    # 安装Docker CE

    yum install -y docker-ce

    # 启动Docker服务并设置开机启动

    systemctl start docker

    systemctl enable docker

    官方文档:https://docs.docker.com

    阿里云源:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    -------------------------------------------------

    管理镜像常用命令

    创建容器

    容器限制

     

    示例:

    内存限额: 允许容器最多使用500M内存和100M的Swap,并禁用 OOM Killer:

    docker run -d --name nginx03 --memory="500m" --memory-swap=“600m" --oom-kill-disable nginx

    CPU限额: 允许容器最多使用一个半的CPU:

    docker run -d --name nginx04 --cpus="1.5" nginx

    允许容器最多使用50%的CPU:

    docker run -d --name nginx05 --cpus=".5" nginx 

    ---------------------------------------------------------------------

    管理容器常用命令

     ----------------------------------------------------------------

    Docker提供三种方式将数据从宿主机挂载到容器中:

    • volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)。保存数据的最佳方式。

    • bind mounts-:将宿主机上的任意位置的文件或者目录挂载到容器中。

    • tmpfs:挂载存储在主机系统的内存中,而不会写入主机的文件系统。如果不希望将数据持久存储在任何位置,可以使用 tmpfs,同时避免写入容器可写层提高性能

    Volume

    管理卷:

    # docker volume create nginx-vol

    # docker volume ls

    # docker volume inspect nginx-vol

    用卷创建一个容器:

    # docker run -d --name=nginx-test --mount src=nginx-vol,dst=/usr/share/nginx/html nginx

    # docker run -d --name=nginx-test -v nginx-vol:/usr/share/nginx/html nginx

    清理:

    # docker stop nginx-test

    # docker rm nginx-test

    # docker volume rm nginx-vol

    注意: 1. 如果没有指定卷,自动创建。 2. 建议使用--mount,更通用。

    Bind Mounts

    用卷创建一个容器:

    # docker run -d -it --name=nginx-test --mount type=bind,src=/app/wwwroot,dst=/usr/share/nginx/html nginx

    # docker run -d -it --name=nginx-test -v /app/wwwroot:/usr/share/nginx/html nginx

    验证绑定:

    # docker inspect nginx-test

    清理:

    # docker stop nginx-test

    # docker rm nginx-test

    注意: 1. 如果源文件/目录没有存在如果挂载目标在容器中非空目录,则该目录现有内容将被隐藏。 2. 不会自动创建,会抛出一个错误。

    Build镜像

    Usage: docker build [OPTIONS] PATH | URL | - [flags] Options:

    -t, --tag list# 镜像名称

    -f, --file string # 指定Dockerfile文件位置

    # docker build -t shykes/myapp .

    # docker build -t shykes/myapp -f /path/Dockerfile /path

    # docker build -t shykes/myapp http://www.example.com/Dockerfile

    ---------------------------------------------------------------------------------------------------------------------

    快速部署LNMP网站平台

    1、自定义网络

    docker network create lnmp

    2、创建Mysql容器

    docker run -d --name lnmp_mysql --net lnmp --mount src=mysql-vol,dst=/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=wordpress mysql:5.7 --character-set-server=utf8

    3、创建PHP容器

    docker run -d --name lnmp_php --net lnmp --mount src=wwwroot,dst=/wwwroot php:v1

    4、创建Nginx容器

    docker run -d --name lnmp_nginx --net lnmp -p 88:80 --mount src=wwwroot,dst=/wwwroot nginx:v1

    ------------------------------------------------------------

    Harbor部署

    # tar zxvf harbor-offline-installer-v1.6.1.tgz

    # cd harbor

    # vi harbor.cfg

    hostname = 10.206.240.188

    ui_url_protocol = http

    harbor_admin_password = 123456

    # ./prepare

    # ./install.sh

    Harbor基本使用

    1、配置http镜像仓库可信任

    # vi /etc/docker/daemon.json {"insecure-registries":["reg.ctnrs.com"]}

    # systemctl restart docker

    2、打标签

    # docker tag centos:6 reg.ctnrs.com/library/centos:6

    3、上传

    # docker push reg.ctnrs.com/library/centos:6

    4、下载

    # docker pull reg.ctnrs.com/library/centos:6

  • 相关阅读:
    Python之二维数组(list与numpy.array)
    too many values to unpack
    python 寻找可迭代(list)的目标元素的下表方法
    zip函数
    map函数
    Sokcet代码错误类型
    PL-VIO Docker测试
    如何检索国外博士论文
    EuRoc V203数据集的坑
    Tracking of Features and Edges
  • 原文地址:https://www.cnblogs.com/daizhengyang/p/13272429.html
Copyright © 2011-2022 走看看