成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

docker小結(jié)

masturbator / 3269人閱讀

摘要:小結(jié)是一個開源的容器引擎,它有助于更快地交付產(chǎn)品??蓪贸绦蚝突A(chǔ)設施層隔離,并且將基礎(chǔ)設施當作程序一樣進行管理。當然,這是不安全的,官方不推薦這樣做。此時這個容器,是按我們的需求更改的容器。

docker小結(jié)

Docker是一個開源的容器引擎,它有助于更快地交付產(chǎn)品。

Docker可將應用程序和基礎(chǔ)設施層隔離,并且將基礎(chǔ)設施當作程序一樣進行管理。使用Docker,可以更快地打包,測試以及部署應用程序,并可以縮短從編程到部署運行代碼的周期。

安裝

ubuntu

 wget -qO- https://get.docker.com/ | sh

當要以非root用戶可以直接運行docker時,需要執(zhí)行 sudo usermod -aG docker runoob 命令,然后重新登陸,否則會報錯

或者安裝Docker社區(qū)版?zhèn)}庫

 sudo apt-get -y install 
   apt-transport-https 
   ca-certificates 
   curl

 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

 sudo add-apt-repository 
        "deb [arch=amd64] https://download.docker.com/linux/ubuntu 
        $(lsb_release -cs) 
        stable"

 sudo apt-get update

 #在Ubuntu上安裝最新的Docker社區(qū)版
 sudo apt-get -y install docker-ce

 #測試你的Docker社區(qū)版是否安裝成功
 sudo docker run hello-world

啟動

 sudo service docker start

測試運行hello-world

 docker run hello-world

鏡像加速

鑒于國內(nèi)網(wǎng)絡問題,后續(xù)拉取 Docker 鏡像十分緩慢,我們可以需要配置加速器來解決,比如網(wǎng)易的鏡像地址。

新版的 Docker 使用 /etc/docker/daemon.jsonLinux) 或者 %programdata%dockerconfigdaemon.jsonWindows) 來配置 Daemon。

請在該配置文件中加入(沒有該文件的話,請先建一個):

 {
   "registry-mirrors": ["http://hub-mirror.c.163.com"]
 }

或者注冊阿里云賬戶

訪問https://cr.console.aliyun.com... 可以獲得自己的加速器 https://××××××.mirror.aliyuncs.com

針對Docker客戶端版本大于1.10.0的用戶,可以通過修改daemon配置文件/etc/docker/daemon.json來使用加速器:

 sudo mkdir -p /etc/docker
 sudo tee /etc/docker/daemon.json <<-"EOF"
 {
   "registry-mirrors": ["https://6fzym3rt.mirror.aliyuncs.com"]
 }
 EOF
 sudo systemctl daemon-reload
 sudo systemctl restart docker

普通用戶加入docker組

有時候,不想每次輸入sudo,這時,我們可以將用戶加入docker組。當然,這是不安全的,官方不推薦這樣做。

 # 創(chuàng)建docker組(如果沒有的話)
 sudo groupadd docker

 # 將當前用戶加入docker組
 sudo gpasswd -a ${USER} docker

 # 重新啟動docker服務
 sudo service docker restart或sudo systemctl restart docker

 # 當前用戶退出系統(tǒng)重新登陸
 su root
 su franson

 # 運行docker命令
 docker ps

容器

運行

 docker run alpine:latest /bin/echo "Hello world"

運行交互式的容器

docker run -i -t -v /test:/soft ubuntu:15.10 /bin/bash

各個參數(shù)解析:

-t:在新容器內(nèi)指定一個偽終端或終端。

-i:允許你對容器內(nèi)的標準輸入 (STDIN) 進行交互。

-v:掛載容器,前者是宿主機中目錄,后者是容器內(nèi)目錄,再加個`:`的話,是權(quán)限

啟動容器(后臺模式)

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

這時,容器在后臺運行,當前輸入容器不會打印hello world,只會返回一個ID號,通過它,可以使用docker logs $ID來查看輸出內(nèi)容。docker logs -f $ID可以讓 dokcer logs 像使用 tail -f 一樣來輸出容器內(nèi)部的標準輸出。

指定-p標識來綁定指定端口。默認開放5000,映射到主機端口32769上。

docker run -d -p 5000:5000 xx/1.0 node app.js

已經(jīng)停止的:docker start container_id

正地運行的重啟:docker restart

進入容器:docker exec -it container_id /bin/bash

特權(quán)方式:docker run -it --privileged -v /test:/soft centos /bin/bash

查看容器

docker ps # 正在運行的

docker ps -a    # 所有的

docker ps -l    # 最后一次創(chuàng)建的

docker top determined_swanson # 查看進程

docker inspect determined_swanson    # 底層信息

停止容器

    
docker stop container_id
docker stop $(docker ps -a -q)    # 停止所有容器

移除容器

docker rm container_id
docker rm $(docker ps -a -q) # 刪除所有未運行 Docker 容器

 

鏡像

查看鏡像

# 查看所有鏡像
docker images
# 搜索服務器上可用的鏡像
docker search httpd

創(chuàng)建鏡像

# 下載
docker pull httpd
# 最小鏡像
alpine

當我們從docker鏡像倉庫中下載的鏡像不能滿足我們的需求時,我們可以通過以下兩種方式對鏡像進行更改。

從已經(jīng)創(chuàng)建的容器中更新鏡像,并且提交這個鏡像,詳見更新

使用 Dockerfile 指令來創(chuàng)建一個新的鏡像

docker build -t xx:1.0 .

參數(shù)說明:

-t :指定要創(chuàng)建的目標鏡像名

. :`Dockerfile` 文件所在目錄,可以指定`Dockerfile` 的絕對路徑

更新

更新鏡像之前,我們需要使用鏡像來創(chuàng)建一個容器。

docker run -t -i ubuntu:15.10 /bin/bash

在運行的容器內(nèi)進行操作,輸入exit命令來退出這個容器。此時這個容器,是按我們的需求更改的容器。我們可以通過命令 docker commit來提交容器副本。

docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2

各個參數(shù)說明:

-m:提交的描述信息

-a:指定鏡像作者

e218edb10161:容器ID

runoob/ubuntu:v2:指定要創(chuàng)建的目標鏡像名

刪除

# 刪除特定鏡像
docker rmi id
# 刪除所有未打tag的鏡像
docker rmi $(docker images -q | awk "/^/ { print $3 }")
# 刪除所有鏡像
docker rmi $(docker images -q)
# 刪除沒有使用的鏡像
docker rmi -f $(docker images | grep "" | awk "{print $3}")

設置鏡像標簽

docker tag 860c279d2fec runoob/centos:dev

Dockerfile樣例
# 用這個文件生成gitlab-ci需要的docker容器
# 同時需要有個jdk-8u161-linux-x64.tar.gz文件放在與它同級的目錄下
# 構(gòu)建鏡像:docker build -t xx:1.0 .
# 創(chuàng)建容器:docker run -t -i xx:1.0  /bin/bash
FROM node:9

# 指定制作我們的鏡像的聯(lián)系人信息(鏡像創(chuàng)建者)
MAINTAINER jw

# 將根目錄下的文件都copy到container(運行此鏡像的容器)文件系統(tǒng)的app文件夾下
ADD . /app/
# cd到app文件夾下
WORKDIR /app

#apt-get update
RUN apt-get update && apt-get install sshpass

#生成ssh的key
RUN ssh-keygen -t rsa

#將jre包移動到 /usr/lib/jvm/目錄下并解壓
RUN mkdir /usr/lib/jvm 
        && mv /app/jdk-8u161-linux-x64.tar.gz /usr/lib/jvm 
        && cd /usr/lib/jvm 
        && tar -xzvf jdk-8u161-linux-x64.tar.gz

#設置路徑
RUN update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0_161/jre/bin/java" 1 
            && update-alternatives --set java /usr/lib/jvm/jdk1.8.0_161/jre/bin/java

# 安裝淘寶鏡像
RUN npm install cnpm -g --registry=https://registry.npm.taobao.org

# 配置環(huán)境變量
ENV JAVA_HOME /usr/lib/jvm/jre
ENV HOST 0.0.0.0
ENV PORT 8000

# 容器對外暴露的端口號
EXPOSE 8000

# 容器啟動時執(zhí)行的命令,類似npm run start
#CMD ["npm", "start"]

ssh

使用sshpass來調(diào)用外部的命令:

sshpass -p 密碼 ssh 用戶名@IP -p 22 -o StrictHostKeyChecking=no "ls /root"

遠程文件同步到當前目錄(.)下

scp -r 192.168.1.140:/opt/docker-volume/php/owncloud/apps/edu_video.tar.gz .  

從主機復制到容器

docker cp host_path containerID:container_path

從容器復制到主機

docker cp containerID:container_path host_path

生成ssh

ssh-keygen -t rsa

scp -r /root/.ssh/id_rsa.pub 目標IP:/root/.ssh/authorized_keys

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/27930.html

相關(guān)文章

  • 我的 2015 年度小結(jié)(技術(shù)方面)

    摘要:因為路由層面受業(yè)務影響很大,經(jīng)常修改一些功能的行為,所以后來大部分測試都是針對層面的單元測試。在我了解的過程中,我發(fā)現(xiàn)中文網(wǎng)絡上對的討論非常分散,于是我創(chuàng)建了中文社區(qū),到年末已經(jīng)有個注冊用戶和個帖子了。 https://jysperm.me/2016/02/programming-of-2015/ 從 2014 年末開始開發(fā)的一個互聯(lián)網(wǎng)金融項目終于在今年三月份上線了,這是一個 Node...

    宋華 評論0 收藏0
  • 我的 2015 年度小結(jié)(技術(shù)方面)

    摘要:因為路由層面受業(yè)務影響很大,經(jīng)常修改一些功能的行為,所以后來大部分測試都是針對層面的單元測試。在我了解的過程中,我發(fā)現(xiàn)中文網(wǎng)絡上對的討論非常分散,于是我創(chuàng)建了中文社區(qū),到年末已經(jīng)有個注冊用戶和個帖子了。 https://jysperm.me/2016/02/programming-of-2015/ 從 2014 年末開始開發(fā)的一個互聯(lián)網(wǎng)金融項目終于在今年三月份上線了,這是一個 Node...

    Nosee 評論0 收藏0
  • Laravel 教程 - 實戰(zhàn) iBrand 開源電商 API 系統(tǒng)

    摘要:最佳實踐良好的編碼規(guī)范單元測試持續(xù)集成文檔,從一開始就形成良好的編碼習慣。真實的電商業(yè)務所有的業(yè)務需求來自真實的客戶,并且線上良好運營中。 重要通知: Laravel + 小程序的開源電商版本源碼已經(jīng)在 github 上拉,歡迎提交 issue 和 star :) 開源電商 Server 端: Laravel API源碼 開源電商 client 端:小程序源碼 iBrand 簡介...

    iOS122 評論0 收藏0
  • 數(shù)字高程模型(Digital Elevation Model) DEM 切片以及數(shù)據(jù)發(fā)布與展示學習筆

    摘要:是一套庫,用來渲染地球,區(qū)域地圖,和多種要素,不需要安裝任何插件就能在支持最新標準的瀏覽器上運行,支持硬件加速,非常適合動態(tài)數(shù)據(jù)在圖層上的展示,是一個跨平臺,開源,非常有前途的表現(xiàn)層庫。 Cesiumjs 是一套javascript庫,用來渲染3D地球,2D區(qū)域地圖,和多種GIS要素,不需要安裝任何插件就能在支持最新HTML5標準的瀏覽器上運行,支持WebGL硬件加速,非常適合動態(tài)數(shù)據(jù)...

    FleyX 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<