zoukankan      html  css  js  c++  java
  • Docker 0x04: Docker 基本使用

    Docker 基本使用

    从利用docker镜像,跑起容器开始。使用现成的镜像。

    第一步:明确要使用容器运行的应用的镜像相关

    1. 明确镜像名(仓库名)
    2. 是否指定明确的镜像tag版本
    3. 查看本地(本地叫什么?)有哪些镜像:> docker images -a
    4. 如果本地没有,会从远程的registry中
    5. 对于从docker官方registry,没有指定用户名称空间的话,会根据在官方library名称空间中寻找,如果没找到会提示没找到。非官方的一定要带上用户名/仓库名 这样才会从指定用户下的仓库拉取。

    第二步:运行一个官方nginx应用

    docker run --name nginx_webserver -d -p 80:80 nginx

    1. docker run 会根据指定的镜像名到本地,到官方hub找镜像,然后解包镜像,创建container容器通过镜像,运行应用,将应用的输出返回给docker-client. docker client的输出是docker-daemon返回的
    2. --name 是指定容器的名称
    3. -d 已守护进程方式运行
    4. -p 80:80 指定容器服务的端口,映射宿主机的端口。这种对应image配置了需要网络端口,这里指定端口号而已。如果应用需要而不指定会怎样?
    5. 还有一些如:-e 给容器指定环境变量;--device添加一个设备给容器;

    第三步:单纯下载镜像,pull

    上面的docker run,如果本地没有镜像,那么会从docker hub上取,然后创建容器通过镜像。
    其实很多时候我们可以先下载镜像到本地,后面再执行docker run.
    这就是registry提供的上传下载功能,创建私有repo。

    docker pull redis

    第四步:设置国内docker-hub

    由于有时候docker官方hub被墙,那么设置国内的镜像docker-hub是可以加快pull速度

    1. 找到/etc/docker/daemon.josn
    2. 在文件添加如下json数据:
    { "registry-mirrors": [ "https://registry.docker-cn.com" ] }
    
    1. 然后重启docker-daemon服务, 注意会已运行的容器会停掉:systemctl daemon-reload && systemctl restart docker

    第五步:列出已有镜像和镜像物理目录在哪里

    1. 列出全部已有镜像: > docker images -a
    2. /var/lib/docker 是docker相关的物理目录

    第六步:本地导入导出镜像及修改名字和tag

    1. 导出本地已有镜像:docker save image-id > a-file 或者参数指定文件 docker save image-id -o 'filepath'

    2. 导入镜像到本地: docker load < STDINPUT 或者 docker load -i 'filepath'

    3. 导入镜像会没有名字,可以通过docker tag image-id name:tag 来修改。修改存在的也可以。

    第七步: 导入导出容器的文件系统

    1. 导出: docker export container > tarfile 或者docker export container -o 'filepath'

    2. 导入:docker import 'file' 会创建一个新的空文件系统的image然后导入file文件内容。详情google。这样可以将容器改变的做出新的镜像。

    第八步: 宿主和容器互相复制数据

    1. docker cp container:src_path host_dest_path

    2. docker cp host_src_path container:src_path

    第九步: 通过dockerfile定制我们自己的镜像

    看篇文章《Dockerfile制作镜像》

  • 相关阅读:
    centos 网络开启
    ubuntu server 服务器部署(二) mysql 安装配置手记
    ubuntu server 服务器部署(一) jdk 安装配置手记
    网络管理
    磁盘配额
    创建raid0
    创建raid5
    逻辑卷快照
    LVM(逻辑卷)
    1.计算机基础
  • 原文地址:https://www.cnblogs.com/ZJiQi/p/11143425.html
Copyright © 2011-2022 走看看