日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

开箱即用的 SQL Server Docker

發布時間:2023/12/20 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 开箱即用的 SQL Server Docker 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SQL Server 真是越來越有看頭。當我們還在為 Linux 上運行 SQL Server 而興奮的時候,SQL Server 已經開啟了 容器化之路,至此才能看清微軟的胸懷,開始擁抱更大的世界。當我越來越深入去閱讀有關 Docker 容器的文檔,已然發現曾經部署上千臺 Linux MySQL 的場景,如今在 Docker 的幫助下,SQL Server 也是手到擒來。如果 SQL Server 再匹配一個分布式計算引擎,那也是分分鐘即可打造一個計算怪獸,和小象 Hadoop 分庭抗禮。屆時玩 SQL 的朋友們不用分心去折騰 Hadoop/Spark, 僅用 T-SQL 依然可以笑傲江湖。因為人工智能,機器學習算法本就是數據集合操作,天生和 SQL 結合緊密。不信看我的這篇:

機器學習算法之 KNN 的 SQL 實現

當然,理想是要有的,目前還是將心放一放,回歸這次的主題, Docker.
接觸容器化實踐,始于團隊 2017 的 CRM 產品發布流程改革,微服務化。

現將整個過程梳理一下,對 SQL Server 容器化進程做一個明晰的總結。

  • Docker 概念以及作用

  • Docker 用來發布 SQL Server 部署的方法和優勢

Docker 的概念以及作用

Docker 的安裝

安裝的必備條件:
  • 64位 CPU
  • Linux 3.8 以上版本
  • 內核必須支持一種合適的存儲驅動(storage driver),如:
  • Device?Manager
    AUFS
    vfs
    btrfs
    默認存儲驅動是?Device?Mapper
  • 內核必須支持并開啟 cgroup 和命名空間功能
  • 檢查 Centos 版本:
    [root@centos00?log]#?uname?-a
    Linux?centos00?3.10.0-514.el7.x86_64?#1?SMP?Tue?Nov?22?16:42:41?UTC?2016?x86_64?x86_64?x86_64?GNU/Linux
    檢查存儲驅動:
    [root@centos00?log]#?ls?-l?/sys/class/misc/device-mapper
    lrwxrwxrwx.?1?root?root?0?Aug?22?18:33?/sys/class/misc/device-mapper?->?../../devices/virtual/misc/device-mapper

    或者直接查當前運行的設備

    [root@centos00?log]#?grep?device-mapper?/proc/devices
    253?device-mapper

    若沒有則運行下面腳本安裝

    yum?install?-y?device-mapper
    modprobe?dm_mod
    安裝 EPEL 軟件包倉庫

    此倉庫只是在 centos 上安裝 Docker 的時候需要,當然 RedHat 也是同門。而 Fedora 則不需要,因為 EPEL 是 Fedora 出品,已經包含了此庫。

    https://fedoraproject.org/wiki/EPEL

    EPEL: Extra Packages For Enterprise Linux

    顧名思義,這是專門為企業版 Linux 打造的擴展功能庫。

    CentOS 6/7 安裝路徑各不相同:

    yum?install?https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

    而正式的安裝則簡單的多:

    yum?install?-y?docker
    Docker 運行時檢查:
    [root@centos00?log]#?docker?info
    Cannot?connect?to?the?Docker?daemon?at?unix:///var/run/docker.sock.?Is?the?docker?daemon?running?

    以上腳本可用來檢查 Docker 運行時信息,亦可用來檢查 Docker 是否運行

    啟動 Docker 進程以及配置開機運行 Docker :

    systemctl?start?docker
    systemctl?enable?docker
    [root@centos00?log]#?systemctl?start?docker
    Job?for?docker.service?failed?because?the?control?process?exited?with?error?code.?See?"systemctl?status?docker.service"?and?"journalctl?-xe"?for?details.
    [root@centos00?log]#?systemctl?status?docker.service?-l
    ●?docker.service?-?Docker?Application?Container?Engine
    ???Loaded:?loaded?(/usr/lib/systemd/system/docker.service;?disabled;?vendor?preset:?disabled)
    ???Active:?failed?(Result:?exit-code)?since?Thu?2018-08-30?07:45:41?CST;?2min?19s?ago
    ?????Docs:?http://docs.docker.com
    ??Process:?31489?ExecStart=/usr/bin/dockerd-current?--add-runtime?docker-runc=/usr/libexec/docker/docker-runc-current?--default-runtime=docker-runc?--exec-opt?native.cgroupdriver=systemd?--userland-proxy-path=/usr/libexec/docker/docker-proxy-current?--init-path=/usr/libexec/docker/docker-init-current?--seccomp-profile=/etc/docker/seccomp.json?$OPTIONS?$DOCKER_STORAGE_OPTIONS?$DOCKER_NETWORK_OPTIONS?$ADD_REGISTRY?$BLOCK_REGISTRY?$INSECURE_REGISTRY?$REGISTRIES?(code=exited,?status=1/FAILURE)
    ?Main?PID:?31489?(code=exited,?status=1/FAILURE)

    Aug?30?07:45:38?centos00?systemd[1]:?Starting?Docker?Application?Container?Engine...
    Aug?30?07:45:38?centos00?dockerd-current[31489]:?time="2018-08-30T07:45:38.949026762+08:00"?level=warning?msg="could?not?change?group?/var/run/docker.sock?to?docker:?group?docker?not?found"
    Aug?30?07:45:38?centos00?dockerd-current[31489]:?time="2018-08-30T07:45:38.954488551+08:00"?level=info?msg="libcontainerd:?new?containerd?process,?pid:?31496"
    Aug?30?07:45:41?centos00?dockerd-current[31489]:?Error?starting?daemon:?SELinux?is?not?supported?with?the?overlay2?graph?driver?on?this?kernel.?Either?boot?into?a?newer?kernel?or?disable?selinux?in?docker?(--selinux-enabled=false)
    Aug?30?07:45:41?centos00?systemd[1]:?docker.service:?main?process?exited,?code=exited,?status=1/FAILURE
    Aug?30?07:45:41?centos00?systemd[1]:?Failed?to?start?Docker?Application?Container?Engine.
    Aug?30?07:45:41?centos00?systemd[1]:?Unit?docker.service?entered?failed?state.
    Aug?30?07:45:41?centos00?systemd[1]:?docker.service?failed.

    參考這篇文章:

    https://stackoverflow.com/questions/45461307/selinux-is-not-supported-with-the-overlay-graph-driver

    執行命令:

    [root@centos00?log]#??cat?/etc/sysconfig/docker-storage
    DOCKER_STORAGE_OPTIONS="--storage-driver?overlay2?"

    修改其 storage driver,使其應用 devicemapper :

    [root@centos00?log]#??cat?/etc/sysconfig/docker-storage
    DOCKER_STORAGE_OPTIONS="--storage-driver?devicemapper?"

    再次啟動 docker, 并檢查 Docker 的狀態

    [root@centos00?log]#?docker?info
    Containers:?0
    ?Running:?0
    ?Paused:?0
    ?Stopped:?0
    Images:?0
    Server?Version:?1.13.1
    Storage?Driver:?devicemapper
    ?Pool?Name:?docker-253:0-101679883-pool
    ?Pool?Blocksize:?65.54?kB
    ?Base?Device?Size:?10.74?GB
    ?Backing?Filesystem:?xfs
    ?Data?file:?/dev/loop0
    ?Metadata?file:?/dev/loop1
    ?Data?Space?Used:?11.8?MB
    ?Data?Space?Total:?107.4?GB
    ?Data?Space?Available:?29.25?GB
    ?Metadata?Space?Used:?581.6?kB
    ?Metadata?Space?Total:?2.147?GB
    ?Metadata?Space?Available:?2.147?GB
    ?Thin?Pool?Minimum?Free?Space:?10.74?GB
    ?Udev?Sync?Supported:?true
    ?Deferred?Removal?Enabled:?true
    ?Deferred?Deletion?Enabled:?true
    ?Deferred?Deleted?Device?Count:?0
    ?Data?loop?file:?/var/lib/docker/devicemapper/devicemapper/data
    ?WARNING:?Usage?of?loopback?devices?is?strongly?discouraged?for?production?use.?Use?`--storage-opt?dm.thinpooldev`?to?specify?a?custom?block?storage?device.
    ?Metadata?loop?file:?/var/lib/docker/devicemapper/devicemapper/metadata
    ?Library?Version:?1.02.135-RHEL7?(2016-09-28)
    Logging?Driver:?journald
    Cgroup?Driver:?systemd
    Plugins:?
    ?Volume:?local
    ?Network:?bridge?host?macvlan?null?overlay
    Swarm:?inactive
    Runtimes:?runc?docker-runc
    Default?Runtime:?docker-runc
    Init?Binary:?/usr/libexec/docker/docker-init-current
    containerd?version:??(expected:?aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1)
    runc?version:?5eda6f6fd0c2884c2c8e78a6e7119e8d0ecedb77?(expected:?9df8b306d01f59d3a8029be411de015b7304dd8f)
    init?version:?fec3683b971d9c3ef73f284f176672c44b448662?(expected:?949e6facb77383876aeff8a6944dde66b3089574)
    Security?Options:
    ?seccomp
    ??WARNING:?You're?not?using?the?default?seccomp?profile
    ??Profile:?/etc/docker/seccomp.json
    ?selinux
    Kernel?Version:?3.10.0-514.el7.x86_64
    Operating?System:?CentOS?Linux?7?(Core)
    OSType:?linux
    Architecture:?x86_64
    Number?of?Docker?Hooks:?3
    CPUs:?4
    Total?Memory:?3.699?GiB
    Name:?centos00
    ID:?DORM:3S6Z:Y33P:TWDH:MT52:NRJR:T5LY:MZYT:37MU:HP3O:JDTS:OFRE
    Docker?Root?Dir:?/var/lib/docker
    Debug?Mode?(client):?false
    Debug?Mode?(server):?false
    Registry:?https://index.docker.io/v1/
    Experimental:?false
    Insecure?Registries:
    ?127.0.0.0/8
    Live?Restore?Enabled:?false
    Registries:?docker.io?(secure)
    創建一個容器:
    [root@centos00?log]#?docker?run?-i?-t?ubuntu?/bin/bash
    Unable?to?find?image?'ubuntu:latest'?locally
    Trying?to?pull?repository?docker.io/library/ubuntu?...?
    latest:?Pulling?from?docker.io/library/ubuntu
    124c757242f8:?Downloading?[===============================>???????????????????]?19.84?MB/31.76?MB
    2ebc019eb4e2:?Download?complete?
    dac0825f7ffb:?Download?complete?
    82b0bb65d1bf:?Download?complete?
    ef3b655c7f88:?Download?complete

    這是簡易版本的創建新容器的方式。如果容器不是遠程服務器維護的,而在本地局域網(為了安全,放在本地局域網緩存),創立新容器的方法又有稍微不同。

    當命令執行完畢,此時我們已經在 Docker 新建的容器里面:

    root@ecb9d7b74b07:~#?cat?/etc/hosts
    127.0.0.1????localhost
    ::1????localhost?ip6-localhost?ip6-loopback
    fe00::0????ip6-localnet
    ff00::0????ip6-mcastprefix
    ff02::1????ip6-allnodes
    ff02::2????ip6-allrouters
    172.17.0.2????ecb9d7b74b07

    另起一個窗口,檢查開啟的容器

    [root@centos00?huangyun]#?docker?ps?-a
    CONTAINER?ID????????IMAGE???????????????COMMAND?????????????CREATED?????????????STATUS??????????????PORTS???????????????NAMES
    ecb9d7b74b07????????ubuntu??????????????"/bin/bash"?????????9?minutes?ago???????Up?9?minutes????????????????????????????vibrant_thompson

    這是一個臨時起的容器,一旦退出執行了 docker run -i -t ubuntu /bin/bash 的窗口,容器就隨之關閉了。

    如果要建立一個長久不關閉的容器,就需要執行面的命令來安裝守護容器:

    docker?run?--name?daemon_dave?-d?ubuntu?/bin/sh?-c?"while?true?;
    do?echo?hello?world;?sleep?1?;?done"

    -d 標識了此容器運行在后臺,命令執行完之后,返回主機。

    可以執行下面的命令,連接后臺執行的容器:

    [root@centos00?huangyun]#?docker?exec?-i?-t?daemon_dave?/bin/bash
    root@eb6cb2a3b7b6:/#?top



    top?-?14:19:01?up?16:17,??0?users,??load?average:?0.29,?0.21,?0.20
    Tasks:???4?total,???1?running,???3?sleeping,???0?stopped,???0?zombie
    %Cpu(s):??0.6?us,??1.2?sy,??0.0?ni,?98.2?id,??0.0?wa,??0.0?hi,??0.0?si,??0.0?st
    KiB?Mem?:??3878288?total,???114852?free,??2647828?used,??1115608?buff/cache
    KiB?Swap:??2097148?total,??2092540?free,?????4608?used.???831552?avail?Mem
    關閉一個容器:

    執行下面命令即可關閉一個正在運行的容器:

    [root@centos00?website]#?docker?stop??nginx_server_1
    nginx_server_1
    [root@centos00?website]#?docker?ps
    CONTAINER?ID????????IMAGE???????????????COMMAND?????????????CREATED?????????????STATUS??????????????PORTS???????????????NAMES
    [root@centos00?website]#

    docker ps 可以用來檢查當前運行著的容器。

    以特定名字運行一個容器之后,這名字就一直保存著,下次運行,如果再以這份名字執行相應的運行程序,會報如下的錯誤:

    [root@centos00?website]#?docker?run?-d?-p?80?--name?nginx_server_1?-v?/var/www/html/website:/var/www/html/website:rw?ubuntu/nginx3?
    /usr/bin/docker-current:?Error?response?from?daemon:?Conflict.?The?container?name?"/nginx_server_1"?is?already?in?use?by?container?f40d10674908782758915399d3f16f1c5207e2907cb90e25f3689bccb9449d34.?You?have?to?remove?(or?rename)?that?container?to?be?able?to?reuse?that?name..
    See?'/usr/bin/docker-current?run?--help'.

    不知道為什么 Docker 主程會一直保存著運行過的 docker 名字:

    [root@centos00?website]#?docker?ps?-a
    CONTAINER?ID????????IMAGE???????????????COMMAND??????????????????CREATED?????????????STATUS??????????????????????PORTS???????????????NAMES
    17f8ba709f49????????ubuntu/nginx3???????"nginx"??????????????????4?minutes?ago???????Exited?(0)?3?minutes?ago????????????????????????hardcore_pare
    f40d10674908????????ubuntu/nginx3???????"nginx"??????????????????10?hours?ago????????Exited?(0)?6?minutes?ago????????????????????????nginx_server_1
    7baea86e09b2????????ubuntu/nginx2???????"/bin/sh"????????????????10?hours?ago????????Exited?(2)?10?hours?ago?????????????????????????determined_bartik
    a4a3348bf5b4????????ubuntu/nginx2???????"/bin/sh"????????????????10?hours?ago????????Exited?(0)?10?hours?ago?????????????????????????quirky_keller
    d944f39ba4b5????????ubuntu/nginx2???????"nginx"??????????????????10?hours?ago????????Exited?(1)?10?hours?ago?????????????????????????amazing_wozniak
    498f38dab68d????????ubuntu/nginx2???????"nginx"??????????????????10?hours?ago????????Exited?(1)?10?hours?ago?????????????????????????website
    e91147812d90????????ubuntu/nginx2???????"/bin/sh"????????????????11?hours?ago????????Exited?(0)?10?hours?ago?????????????????????????reverent_golick
    b2dc934e76cb????????ubuntu/nginx2???????"/bin/sh"????????????????11?hours?ago????????Exited?(0)?11?hours?ago?????????????????????????nginx2
    4389f303f89f????????ubuntu/ping?????????"/bin/sh"????????????????11?hours?ago????????Exited?(0)?11?hours?ago?????????????????????????dockernginx1
    425db7295d54????????ubuntu/ping?????????"/bin/sh"????????????????11?hours?ago????????Exited?(0)?11?hours?ago?????????????????????????dockernginx
    4092ee432cdc????????ubuntu/ping?????????"/bin/sh"????????????????11?hours?ago????????Exited?(0)?11?hours?ago?????????????????????????ubuntu00
    2eedc14e316f????????c58e6a4eb329????????"/bin/sh?-c?'apt-g..."???11?hours?ago????????Exited?(100)?11?hours?ago???????????????????????nervous_stallman
    8393f330888c????????ubuntu/nginx????????"/bin/bash"??????????????12?hours?ago????????Exited?(0)?12?hours?ago?????????????????????????gracious_leavitt
    b106b1b31c84????????ubuntu/nginx????????"/bin/bash"??????????????13?hours?ago????????Exited?(127)?12?hours?ago???????????????????????nginx_server
    6f748f358454????????ubuntu/ping?????????"/bin/bash"??????????????15?hours?ago????????Exited?(0)?15?hours?ago?????????????????????????compassionate_brahmagupta
    e4a3a8acc032????????centos:7.4.1708?????"/bin/sh"????????????????17?hours?ago????????Exited?(0)?17?hours?ago?????????????????????????centos7
    eb6cb2a3b7b6????????ubuntu??????????????"/bin/sh?-c?'while..."???2?days?ago??????????Exited?(137)?12?hours?ago???????????????????????daemon_dave
    ecb9d7b74b07????????ubuntu??????????????"/bin/bash"??????????????2?days?ago??????????Exited?(127)?12?hours?ago???????????????????????vibrant_thompson
    [root@centos00?website]#

    當再一次使用其中之一運行容器時,名字會因為重復而被拒絕運行。

    針對這種需要使用同一個名字重啟容器的情況,一般的解決方法有3種:

  • 在每次運行容器時,指定關閉容器之后,銷毀
  • #?docker?run?-d?-p?80?--rm?--name?nginx_server_1?-v?/var/www/html/website:/var/www/html/website:rw?ubuntu/nginx3
  • 先關閉容器,再移除容器名字
  • #?docker?stop?nginx_server_1
    #?docker?rm?nginx_server_1
  • 重啟容器而不用先銷毀
  • #?docker?restart?nginx_server_1
    Docker 的鏡像與倉庫

    Docker 公司出版了自己維護和運營的一些鏡像,官方網站維護了這份列表:

    https://hub.docker.com/

    注冊一個 Docker 官網的賬戶 , dblenis, l*w*6.

    每個倉庫中都存放著各種鏡像,執行命令,可以將這些鏡像都拉到本地存儲:

    [root@centos00?containers]#?docker?pull?centos
    Using?default?tag:?latest
    Trying?to?pull?repository?docker.io/library/centos?...?
    latest:?Pulling?from?docker.io/library/centos
    256b176beaff:?Pull?complete?
    Digest:?sha256:6f6d986d425aeabdc3a02cb61c02abb2e78e57357e92417d6d58332856024faf
    Status:?Downloaded?newer?image?for?docker.io/centos:latest
    [root@centos00?containers]#?docker?images
    REPOSITORY??????????TAG?????????????????IMAGE?ID????????????CREATED?????????????SIZE
    docker.io/ubuntu????latest??????????????16508e5c265d????????9?days?ago??????????84.1?MB
    docker.io/centos????latest??????????????5182e96772bf????????3?weeks?ago?????????200?MB
    [root@centos00?containers]#

    每個鏡像都會帶有自己的標簽,在建立新容器的時候帶上這份標簽,會讓我們更明白操作的對象是什么,會有什么異常:

    [root@centos00?containers]#?docker?run?--name?centos7?-d?centos:centos7.4.1708???/bin/sh

    如果不指定特定標簽,在拉取官網鏡像時,則拉取的是最新的。

    構建鏡像

    兩種方法:

    使用 Docker Commit 命令

    使用 Docker build 命令和 Dockerfile 文件

    通過前面新建的 ubuntu 沒有 ping 的功能,我希望可以將 ping 功能安裝進去,然后打包一個新的鏡像,放在 Docker 上分享。

    #?apt-get?install?iputils-ping
    Reading?package?lists...?Done
    Building?dependency?tree???????
    Reading?state?information...?Done
    The?following?additional?packages?will?be?installed:
    ??libcap2?libcap2-bin?libidn11?libpam-cap
    The?following?NEW?packages?will?be?installed:
    ??iputils-ping?libcap2?libcap2-bin?libidn11?libpam-cap
    0?upgraded,?5?newly?installed,?0?to?remove?and?0?not?upgraded.
    Need?to?get?140?kB?of?archives.
    After?this?operation,?537?kB?of?additional?disk?space?will?be?used.
    Do?you?want?to?continue??[Y/n]?y

    apt-get 安裝一些其他軟件,方便以后使用,提交這些更改,將其完整的做成一個容器鏡像。以后若要新建容器,只需要在此鏡像基礎上新建便可。

    [root@centos00?huangyun]#?docker?commit?daemon_dave?ubuntu/ping

    若此時查看鏡像庫:

    [root@centos00?huangyun]#?docker?images
    REPOSITORY??????????TAG?????????????????IMAGE?ID????????????CREATED?????????????SIZE
    ubuntu/ping?????????latest??????????????2eb12722cb2f????????2?minutes?ago???????186?MB
    docker.io/ubuntu????latest??????????????16508e5c265d????????9?days?ago??????????84.1?MB
    docker.io/centos????7.4.1708????????????d3949e34634c????????3?weeks?ago?????????197?MB
    docker.io/centos????centos7.4.1708??????d3949e34634c????????3?weeks?ago?????????197?MB
    docker.io/centos????latest??????????????5182e96772bf????????3?weeks?ago?????????200?MB

    發現 repository 里面多了一個 ubuntu/ping 的鏡像。

    就像是虛擬機多保存了一個 snapshot 一樣,更方便的是我們居然可以依據這份 snapshot 來構建一個新的虛擬機。

    官方更推薦使用 Dockerfile 和 Docker build 來構建新容器鏡像

    Dockerfile 是一種特殊的文件,用來編寫 DSL 指令,這些指令可以被 Docker 進程識別,并根據這些指令進行處理,最終完成一個可用的鏡像制作。每一個鏡像都是從基礎鏡像之上,一點點添加其他鏡像組成的。一開始的基礎鏡像只是符合最低運行庫的內核,比如 ubuntu 的基礎鏡像,居然連 ping, vi 都沒有。如果需要這些功能作為新鏡像的一部分,那么就要在 Dockerfile 里面新加。

    更多的 Dockerfile 支持的指令:
    http://docs.docker.com/reference/builder

    Docker build 就是基于 Dockerfile ,將其中的指令發送給 Docker 進程,使其進行構建新鏡像。Docker 進程可以看做是服務進程,提供一系列的后臺服務,docker build 就是客戶端,發送請求給 Docker ,Docker 統一調度工作完成 build 的請求。

    [root@centos00?DockerWeb]#?cat?Dockerfile
    #?version?:?0.0.1

    FROM?ubuntu:14.04

    MAINTAINER?Lenis?Huang?"huangyun_122@163.com"
    RUN?apt-get?update
    RUN?apt-get?install?-y?nginx
    RUN?echo?"Hello,?World!"?>?/usr/share/nginx/html/index.html
    EXPOSE?80

    上面的腳本安裝了 nginx 服務,并且創建了一個簡單的靜態網頁,最后允許 80 開放給外界訪問。

    構建開始:

    [root@centos00?DockerWeb]#?docker?build?-t="ubuntu/nginx"?.
    Sending?build?context?to?Docker?daemon?2.048?kB
    Step?1/6?:?FROM?ubuntu:14.04
    Trying?to?pull?repository?docker.io/library/ubuntu?...?
    14.04:?Pulling?from?docker.io/library/ubuntu
    72c01b436656:?Extracting?[=====>?????????????????????????????????????????????]?7.799?MB/67.13?MB
    944f9cf63457:?Download?complete?
    6856614e8780:?Download?complete?
    9d0e4b6507f2:?Download?complete?
    c00913272b9b:?Download?complete

    正在 build 之中的鏡像,這一步步看的更詳細:

    [root@centos00?DockerWeb]#?docker?build?-t="ubuntu/nginx"?.
    Sending?build?context?to?Docker?daemon?2.048?kB
    Step?1/6?:?FROM?ubuntu:14.04
    Trying?to?pull?repository?docker.io/library/ubuntu?...?
    14.04:?Pulling?from?docker.io/library/ubuntu
    72c01b436656:?Pull?complete?
    944f9cf63457:?Pull?complete?
    6856614e8780:?Pull?complete?
    9d0e4b6507f2:?Pull?complete?
    c00913272b9b:?Pull?complete?
    Digest:?sha256:d6b8e25d0f3073bad48fda3f28d01ac0e8bd0e2a6d034c7f462619591a72c791
    Status:?Downloaded?newer?image?for?docker.io/ubuntu:14.04
    ?--->?8789038981bc
    Step?2/6?:?MAINTAINER?Lenis?Huang?"huangyun_122@163.com"
    ?--->?Running?in?6a16f9906861
    ?--->?aacb0d62260f
    Removing?intermediate?container?6a16f9906861
    Step?3/6?:?RUN?apt-get?update
    ?--->?Running?in?ed843eeaf662

    Ign?http://archive.ubuntu.com?trusty?InRelease
    Get:1?http://security.ubuntu.com?trusty-security?InRelease?[65.9?kB]
    Get:2?http://archive.ubuntu.com?trusty-updates?InRelease?[65.9?kB]
    Get:3?http://archive.ubuntu.com?trusty-backports?InRelease?[65.9?kB]
    Get:4?http://archive.ubuntu.com?trusty?Release.gpg?[933?B]
    Get:5?http://security.ubuntu.com?trusty-security/main?amd64?Packages?[952?kB]
    Get:6?http://archive.ubuntu.com?trusty-updates/universe?Sources?[260?kB]
    Get:7?http://security.ubuntu.com?trusty-security/universe?Sources?[96.3?kB]
    Get:8?http://archive.ubuntu.com?trusty-updates/main?amd64?Packages?[1372?kB]
    Get:9?http://archive.ubuntu.com?trusty-updates/restricted?amd64?Packages?[21.4?kB]
    Get:10?http://archive.ubuntu.com?trusty-updates/universe?amd64?Packages?[606?kB]
    Get:11?http://archive.ubuntu.com?trusty-updates/multiverse?amd64?Packages?[16.0?kB]
    Get:12?http://security.ubuntu.com?trusty-security/restricted?amd64?Packages?[18.1?kB]
    Get:13?http://archive.ubuntu.com?trusty-backports/main?amd64?Packages?[14.7?kB]
    Get:14?http://archive.ubuntu.com?trusty-backports/restricted?amd64?Packages?[40?B]
    Get:15?http://archive.ubuntu.com?trusty-backports/universe?amd64?Packages?[52.5?kB]
    Get:16?http://archive.ubuntu.com?trusty-backports/multiverse?amd64?Packages?[1392?B]
    Get:17?http://archive.ubuntu.com?trusty?Release?[58.5?kB]
    Get:18?http://archive.ubuntu.com?trusty/universe?Sources?[7926?kB]
    Get:19?http://archive.ubuntu.com?trusty/main?amd64?Packages?[1743?kB]
    Get:20?http://archive.ubuntu.com?trusty/restricted?amd64?Packages?[16.0?kB]
    Get:21?http://archive.ubuntu.com?trusty/universe?amd64?Packages?[7589?kB]
    Get:22?http://archive.ubuntu.com?trusty/multiverse?amd64?Packages?[169?kB]
    Get:23?http://security.ubuntu.com?trusty-security/multiverse?amd64?Packages?[4721?B]
    Get:24?http://security.ubuntu.com?trusty-security/universe?amd64?Packages?[311?kB]
    Fetched?21.4?MB?in?11s?(1822?kB/s)
    Reading?package?lists...
    ?--->?582a2a0c6fb9
    Removing?intermediate?container?ed843eeaf662
    Step?4/6?:?RUN?apt-get?install?-y?nginx
    ?--->?Running?in?7199f88e91ef

    Reading?package?lists...
    Building?dependency?tree...
    Reading?state?information...
    The?following?extra?packages?will?be?installed:
    ??fontconfig-config?fonts-dejavu-core?geoip-database?libfontconfig1
    ??libfreetype6?libgd3?libgeoip1?libjbig0?libjpeg-turbo8?libjpeg8?libtiff5
    ??libvpx1?libx11-6?libx11-data?libxau6?libxcb1?libxdmcp6?libxml2?libxpm4
    ??libxslt1.1?nginx-common?nginx-core?sgml-base?xml-core
    Suggested?packages:
    ??libgd-tools?geoip-bin?fcgiwrap?nginx-doc?sgml-base-doc?debhelper
    The?following?NEW?packages?will?be?installed:
    ??fontconfig-config?fonts-dejavu-core?geoip-database?libfontconfig1
    ??libfreetype6?libgd3?libgeoip1?libjbig0?libjpeg-turbo8?libjpeg8?libtiff5
    ??libvpx1?libx11-6?libx11-data?libxau6?libxcb1?libxdmcp6?libxml2?libxpm4
    ??libxslt1.1?nginx?nginx-common?nginx-core?sgml-base?xml-core
    0?upgraded,?25?newly?installed,?0?to?remove?and?0?not?upgraded.
    Need?to?get?5593?kB?of?archives.
    After?this?operation,?19.8?MB?of?additional?disk?space?will?be?used.
    Get:1?http://archive.ubuntu.com/ubuntu/?trusty/main?libgeoip1?amd64?1.6.0-1?[71.0?kB]
    Get:2?http://archive.ubuntu.com/ubuntu/?trusty/main?libxau6?amd64?1:1.0.8-1?[8376?B]
    Get:3?http://archive.ubuntu.com/ubuntu/?trusty/main?libxdmcp6?amd64?1:1.1.1-1?[12.8?kB]
    Get:4?http://archive.ubuntu.com/ubuntu/?trusty/main?libxcb1?amd64?1.10-2ubuntu1?[38.0?kB]
    Get:5?http://archive.ubuntu.com/ubuntu/?trusty-updates/main?libx11-data?all?2:1.6.2-1ubuntu2.1?[111?kB]
    Get:6?http://archive.ubuntu.com/ubuntu/?trusty-updates/main?libx11-6?amd64?2:1.6.2-1ubuntu2.1?[561?kB]
    Get:7?http://archive.ubuntu.com/ubuntu/?trusty-updates/main?libxml2?amd64?2.9.1+dfsg1-3ubuntu4.13?[573?kB]
    Get:8?http://archive.ubuntu.com/ubuntu/?trusty/main?sgml-base?all?1.26+nmu4ubuntu1?[12.5?kB]
    Get:9?http://archive.ubuntu.com/ubuntu/?trusty/main?fonts-dejavu-core?all?2.34-1ubuntu1?[1024?kB]
    Get:10?http://archive.ubuntu.com/ubuntu/?trusty-updates/main?fontconfig-config?all?2.11.0-0ubuntu4.2?[47.4?kB]
    Get:11?http://archive.ubuntu.com/ubuntu/?trusty-updates/main?libfreetype6?amd64?2.5.2-1ubuntu2.8?[304?kB]
    Get:12?http://archive.ubuntu.com/ubuntu/?trusty-updates/main?libfontconfig1?amd64?2.11.0-0ubuntu4.2?[123?kB]
    Get:13?http://archive.ubuntu.com/ubuntu/?trusty-updates/main?libjpeg-turbo8?amd64?1.3.0-0ubuntu2.1?[104?kB]
    Get:14?http://archive.ubuntu.com/ubuntu/?trusty/main?libjpeg8?amd64?8c-2ubuntu8?[2194?B]
    Get:15?http://archive.ubuntu.com/ubuntu/?trusty-updates/main?libjbig0?amd64?2.0-2ubuntu4.1?[26.1?kB]
    Get:16?http://archive.ubuntu.com/ubuntu/?trusty-updates/main?libtiff5?amd64?4.0.3-7ubuntu0.9?[147?kB]
    Get:17?http://archive.ubuntu.com/ubuntu/?trusty/main?libvpx1?amd64?1.3.0-2?[556?kB]
    Get:18?http://archive.ubuntu.com/ubuntu/?trusty-updates/main?libxpm4?amd64?1:3.5.10-1ubuntu0.1?[33.2?kB]
    Get:19?http://archive.ubuntu.com/ubuntu/?trusty-updates/main?libgd3?amd64?2.1.0-3ubuntu0.10?[123?kB]
    Get:20?http://archive.ubuntu.com/ubuntu/?trusty-updates/main?libxslt1.1?amd64?1.1.28-2ubuntu0.1?[145?kB]
    Get:21?http://archive.ubuntu.com/ubuntu/?trusty/main?geoip-database?all?20140313-1?[1196?kB]
    Get:22?http://archive.ubuntu.com/ubuntu/?trusty/main?xml-core?all?0.13+nmu2?[23.3?kB]
    Get:23?http://archive.ubuntu.com/ubuntu/?trusty-updates/main?nginx-common?all?1.4.6-1ubuntu3.8?[19.1?kB]
    Get:24?http://archive.ubuntu.com/ubuntu/?trusty-updates/main?nginx-core?amd64?1.4.6-1ubuntu3.8?[325?kB]
    Get:25?http://archive.ubuntu.com/ubuntu/?trusty-updates/main?nginx?all?1.4.6-1ubuntu3.8?[5394?B]
    debconf:?unable?to?initialize?frontend:?Dialog
    debconf:?(TERM?is?not?set,?so?the?dialog?frontend?is?not?usable.)
    debconf:?falling?back?to?frontend:?Readline
    debconf:?unable?to?initialize?frontend:?Readline
    debconf:?(This?frontend?requires?a?controlling?tty.)
    debconf:?falling?back?to?frontend:?Teletype
    dpkg-preconfigure:?unable?to?re-open?stdin:?
    Fetched?5593?kB?in?6min?9s?(15.2?kB/s)
    Selecting?previously?unselected?package?libgeoip1:amd64.
    (Reading?database?...?11571?files?and?directories?currently?installed.)
    Preparing?to?unpack?.../libgeoip1_1.6.0-1_amd64.deb?...
    Unpacking?libgeoip1:amd64?(1.6.0-1)?...
    Selecting?previously?unselected?package?libxau6:amd64.
    Preparing?to?unpack?.../libxau6_1%3a1.0.8-1_amd64.deb?...
    Unpacking?libxau6:amd64?(1:1.0.8-1)?...
    Selecting?previously?unselected?package?libxdmcp6:amd64.
    Preparing?to?unpack?.../libxdmcp6_1%3a1.1.1-1_amd64.deb?...
    Unpacking?libxdmcp6:amd64?(1:1.1.1-1)?...
    Selecting?previously?unselected?package?libxcb1:amd64.
    Preparing?to?unpack?.../libxcb1_1.10-2ubuntu1_amd64.deb?...
    Unpacking?libxcb1:amd64?(1.10-2ubuntu1)?...
    Selecting?previously?unselected?package?libx11-data.
    Preparing?to?unpack?.../libx11-data_2%3a1.6.2-1ubuntu2.1_all.deb?...
    Unpacking?libx11-data?(2:1.6.2-1ubuntu2.1)?...
    Selecting?previously?unselected?package?libx11-6:amd64.
    Preparing?to?unpack?.../libx11-6_2%3a1.6.2-1ubuntu2.1_amd64.deb?...
    Unpacking?libx11-6:amd64?(2:1.6.2-1ubuntu2.1)?...
    Selecting?previously?unselected?package?libxml2:amd64.
    Preparing?to?unpack?.../libxml2_2.9.1+dfsg1-3ubuntu4.13_amd64.deb?...
    Unpacking?libxml2:amd64?(2.9.1+dfsg1-3ubuntu4.13)?...
    Selecting?previously?unselected?package?sgml-base.
    Preparing?to?unpack?.../sgml-base_1.26+nmu4ubuntu1_all.deb?...
    Unpacking?sgml-base?(1.26+nmu4ubuntu1)?...
    Selecting?previously?unselected?package?fonts-dejavu-core.
    Preparing?to?unpack?.../fonts-dejavu-core_2.34-1ubuntu1_all.deb?...
    Unpacking?fonts-dejavu-core?(2.34-1ubuntu1)?...
    Selecting?previously?unselected?package?fontconfig-config.
    Preparing?to?unpack?.../fontconfig-config_2.11.0-0ubuntu4.2_all.deb?...
    Unpacking?fontconfig-config?(2.11.0-0ubuntu4.2)?...
    Selecting?previously?unselected?package?libfreetype6:amd64.
    Preparing?to?unpack?.../libfreetype6_2.5.2-1ubuntu2.8_amd64.deb?...
    Unpacking?libfreetype6:amd64?(2.5.2-1ubuntu2.8)?...
    Selecting?previously?unselected?package?libfontconfig1:amd64.
    Preparing?to?unpack?.../libfontconfig1_2.11.0-0ubuntu4.2_amd64.deb?...
    Unpacking?libfontconfig1:amd64?(2.11.0

    總結

    以上是生活随笔為你收集整理的开箱即用的 SQL Server Docker的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。