• win10安装docker


    一、安装:win10安装docker,下载客户端安装即可。

    二、配置及使用:
    docker engine 配置国内镜像源:
    "registry-mirrors": ["https://cr.console.aliyun.com"],
    cmd窗口打开powershell
    docker version
    docker search hello-world
    docker search centos
    docker pull hello-world
    docker tag 860c279d2fec runoob/centos:dev 设置镜像标签
    docker run helllo-world
    docker run --name some-nginx -p 1080:80 -v f:\docker:/usr/share/nginx/html -d nginx
    docker run -i -t centos /bin/bash 运行交互式的容器,通过运行 exit 命令或者使用 CTRL+D 来退出容器
    docker logs 容器ID或容器名 输出日志
    docker ps
    docker ps -a
    docker ps -l 查询最后一次创建的容器:
    docker stop/restart 容器ID或容器名
    docker stop -t=60 容器ID或容器名
    docker rmi 镜像id
    docker rm 容器id
    docker attach [container_id] #连接一个正在运行的container实例(即实例须为start状态,可以多个 窗口同时attach 一个container实例),但当某个窗口因命令阻塞时,其它窗口也无法执行了。
    exec可直接在容器内运行的命令。docker exec -ti [container_id] /bin/bash


    三、运行一个镜像:
    方式一:docker run命令方式
    docker run --name some-nginx -p 1080:80 -v /some/content:/usr/share/nginx/html -d nginx
    (docker run --name some-nginx -p 1080:80 -v f:\docker:/usr/share/nginx/html -d nginx)
    参数说明:
    --name:定义容器名。
    -p:宿主机与容器的端口挂载,格式:宿主机端口:容器内部端口
    -v:宿主机目录与容器内目录映射,格式:宿主机目录:容器内部目录
    -d:后台执行
    执行以上命令就可以啦,这里把容器名取名为some-nginx,把容器的80端口映射到宿主机的1080端口,容器内的/usr/share/nginx/html目录映射到宿主机的/some/content目录,使用的是nginx最新的镜像,镜像部分也可以写成 “nginx:版本”比如“nginx:1.15.1”。
    在/some/content创建一个index.html,随便输入个内容。
    访问下 ip+1080可以看到请求到nginx了。
    方式二:Dockerfile配置文件构建镜像方式
    1.创建一个文件,命名为Dockerfile,输入以下内容。
    FROM nginxCOPY html /usr/share/nginx/html
    FROM nginx 代表以nginx镜像为基础构建我们的镜像。

    注意需要先在Dockerfile同目录创建html目录,不然会报错。

    Dockerfile文件内可以自定义镜像内容,有很多指令可以用,比如可以在配置容器创建后运行shell脚本等,可以自行查阅,本文仅做一个简单的用法示例入门。

    注意:Dockerfile 的指令每执行一次都会在 docker 上新建一层,所以尽量不要写太多层。

    2.在Dockerfile同目录下运行命令创建镜像

    docker build -t my-nginx-image .

    注意最后面有一个点。

    3.运行容器

    docker run --name some-nginx -p 1080:80 -d my-nginx-image
    在html目录里新建一个index.html文件随便输入个内容,访问下 ip+1080可以看到请求到nginx了。
    Dockerfile一般用于自定义镜像,因为是个文件,也比命令的方式更易于保存与团队间共享。

    方式三:docker -compose方式

    在需要管理多个容器时用以上两种方式都不太适合,不仅要管理每个容器的配置信息,还要处理容器间的关系,这时候就需要docker-compose来做容器编排了。

    1.创建一个docker-compose.yml文件,输入以下内容
    # yaml 配置
    version: '3'
    services:
    nginx:
    image: nginx
    container_name: some-nginx1
    ports:
    - "1080:80"
    volumes:
    - F:\docker:/usr/share/nginx/html

    在F:\docker创建一个index.html,随便输入个内容,等会访问测试。

    2.执行启动命令
    docker-compose up -d
    访问下 ip+1080可以看到请求到nginx了。

    三、下载、制作、上传镜像

    登录阿里云镜像:
    docker login --username=赵晓525 registry.cn-hangzhou.aliyuncs.com
    docker tag 12766a6745ee registry.cn-hangzhou.aliyuncs.com/testzx/nginx:0406 本地镜像打标签
    docker push registry.cn-hangzhou.aliyuncs.com/testzx/nginx:0406 上传本地镜像
    docker pull registry.cn-hangzhou.aliyuncs.com/testzx/nginx:[镜像版本号] 拉取容器服务中刚刚上传的镜像


    制作镜像

    docker run --name some-nginx -p 1080:80 -v f:\docker:/usr/share/nginx/html -d nginx
    mkdir dockerfile
    vi dockerfile
    文件内容:
    FROM nginx
    RUN echo '这是一个本地构建的nginx镜像' > /usr/share/nginx/html/index.html
    在文件目录下执行
    docker build -t nginx:v3 .
    [+] Building 0.8s (4/5)
    [+] Building 1.0s (4/5)
    [+] Building 1.1s (4/5)
    [+] Building 1.3s (5/6)
    [+] Building 1.3s (6/6) FINISHED
    => [internal] load build definition from Dockerfile 0.2s
    => => transferring dockerfile: 133B 0.0s
    => [internal] load .dockerignore 0.1s
    => => transferring context: 2B 0.0s
    => [internal] load metadata for docker.io/library/nginx:latest 0.0s
    => [1/2] FROM docker.io/library/nginx 0.4s
    => [2/2] RUN echo '这是一个本地构建的nginx镜像' > /usr/share/nginx/html/index.html 0.5sing to image 0.1s
    => exporting to image 0.1s
    => => exporting layers 0.1s
    => => writing image sha256:813a1b77df54126778c7f8740772cde558b1ec89551e40b6be37b03514d9c63a 0.0s
    => => naming to docker.io/library/nginx:v3 0.0s

    Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them

    docker 容器连接:
    Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
    创建一个docker-compose.yml
    执行启动命令
    docker-compose up -d
    容器迁移:(参考:https://www.cnblogs.com/sunnynic/p/12317711.html)
    容器打包成镜像 # docker commit -m "" -a "" [CONTAINER ID] [新的镜像名] ,其中-m和-a是可选参数,意思分别是描述和作者
    导出镜像 # docker save -o [新的镜像名.tar] [新的镜像名]
    拷贝镜像到目标服务器 # scp src dst
    导入镜像 # sudo docker load -i [新的镜像名.tar]
    运行容器 # docker run

  • 相关阅读:
    1208PHP基础
    数据库的查询
    1108 函数
    Shell脚本监控Linux某个后台进程,当进程死掉后重新启动服务,以httpd为例
    Windows下安装Zabbix agent
    Zabbix4.0如何监控Windows主机
    yum下载Zabbix4.0失败的解决方法
    TCP的三次握手与四次挥手理解
    MySQL主从复制原理
    Awk
  • 原文地址:https://www.cnblogs.com/zhxiaoxiao/p/16140601.html
Copyright © 2020-2023  润新知