成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

Docker 小技巧

wall2flower / 3506人閱讀

摘要:以下都會(huì)使用到容器,所以執(zhí)行以下指令查看容器或者容器名稱(chēng)檢查環(huán)節(jié)變量查看日志備份恢復(fù)備份使用進(jìn)入容器沒(méi)有剩余磁盤(pán)空間使用以下指令刪除容器和鏡像刪除所有容器刪除未使用的鏡像清理日

以下都會(huì)使用到容器 id,所以執(zhí)行以下指令查看容器 id 或者容器名稱(chēng)

[yexiaobaideMacBook-Pro: ~]$ sudo docker ps 
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS                              NAMES
20ec96201fa3        swarm               "/swarm manage token   26 hours ago        Up 26 hours         0.0.0.0:2222->2375/tcp             suspicious_sinoussi   
7e90d4598a74        swarm               "/swarm join -addr=1   26 hours ago        Up 26 hours         2375/tcp                           sad_cray              
abf7cdbe5d1c        rancher/server      "/usr/bin/s6-svscan    26 hours ago        Up 26 hours         3306/tcp, 0.0.0.0:8080->8080/tcp   ecstatic_morse     
檢查環(huán)節(jié)變量
sudo docker inspect --format "{{.Config.Env}}" abf7cdbe5d1c
查看日志
sudo docker logs -f abf7cdbe5d1c
備份
sudo docker run --rm -v /tmp:/backup --volumes-from  busybox tar -cvf /backup/backup.tar 

恢復(fù)備份

sudo docker run --rm -v /tmp:/backup --volumes-from  busybox tar -xvf /backup/backup.tar 
使用 docker exec 進(jìn)入容器
sudo docker exec -it ecstatic_morse  bash
沒(méi)有剩余磁盤(pán)空間

使用以下指令刪除容器和鏡像

sudo docker ps -aq | xargs sudo docker rm # 刪除所有容器
sudo docker images -aq -f dangling=true | xargs sudo docker rmi # 刪除未使用的鏡像

清理日志 - 非 root 權(quán)限

 sudo su -c "echo "" > $(sudo docker inspect --format="{{.LogPath}}" ecstatic_morse)"      
使用別名

.zshrc 或者 .bashrc 中寫(xiě)入以下腳本:

alias dockercleancontainers="docker ps -aq | xargs docker rm"
alias dockercleanimages="docker images -aq -f dangling=true | xargs docker rmi"
alias dockerclean="dockercleancontainers && dockercleanimages"
alias docker-killall="docker ps -q | xargs docker kill"

# runs docker exec in the latest container
function docker-exec-last {
  docker exec -ti $( docker ps -a -q -l) /bin/bash
}

function docker-get-ip {
  # Usage: docker-get-ip (name or sha)
  [ -n "$1" ] && docker inspect --format "{{ .NetworkSettings.IPAddress }}" $1
}

function docker-get-id {
  # Usage: docker-get-id (friendly-name)
  [ -n "$1" ] && docker inspect --format "{{ .ID }}" "$1"
}

function docker-get-image {
  # Usage: docker-get-image (friendly-name)
  [ -n "$1" ] && docker inspect --format "{{ .Image }}" "$1"
}

function docker-get-state {
  # Usage: docker-get-state (friendly-name)
  [ -n "$1" ] && docker inspect --format "{{ .State.Running }}" "$1"
}

function docker-memory {
  for line in `docker ps | awk "{print $1}" | grep -v CONTAINER`; do docker ps | grep $line | awk "{printf $NF" "}" && echo $(( `cat /sys/fs/cgroup/memory/docker/$line*/memory.usage_in_bytes` / 1024 / 1024 ))MB ; done
}
# keeps the commmand history when running a container
function basher() {
    if [[ $1 = "run" ]]
    then
        shift
        docker run -e HIST_FILE=/root/.bash_history -v $HOME/.bash_history:/root/.bash_history "$@"
    else
        docker "$@"
    fi
}
# backup files from a docker volume into /tmp/backup.tar.gz
function docker-volume-backup-compressed() {
  docker run --rm -v /tmp:/backup --volumes-from "$1" debian:jessie tar -czvf /backup/backup.tar.gz "${@:2}"
}
# restore files from /tmp/backup.tar.gz into a docker volume
function docker-volume-restore-compressed() {
  docker run --rm -v /tmp:/backup --volumes-from "$1" debian:jessie tar -xzvf /backup/backup.tar.gz "${@:2}"
  echo "Double checking files..."
  docker run --rm -v /tmp:/backup --volumes-from "$1" debian:jessie ls -lh "${@:2}"
}
# backup files from a docker volume into /tmp/backup.tar
function docker-volume-backup() {
  docker run --rm -v /tmp:/backup --volumes-from "$1" busybox tar -cvf /backup/backup.tar "${@:2}"
}
# restore files from /tmp/backup.tar into a docker volume
function docker-volume-restore() {
  docker run --rm -v /tmp:/backup --volumes-from "$1" busybox tar -xvf /backup/backup.tar "${@:2}"
  echo "Double checking files..."
  docker run --rm -v /tmp:/backup --volumes-from "$1" busybox ls -lh "${@:2}"
}
使用 COPY 而不是 ADD 在下載之后和開(kāi)始使用之前使用 checksum 檢查
ENV JENKINS_VERSION 1.625.3
ENV JENKINS_SHA 537d910f541c25a23499b222ccd37ca25e074a0c

RUN curl -fL http://mirrors.jenkins-ci.org/war-stable/$JENKINS_VERSION/jenkins.war -o /usr/share/jenkins/jenkins.war 
  && echo "$JENKINS_SHA /usr/share/jenkins/jenkins.war" | sha1sum -c -
在相同 layer 清理
RUN apt-get update && 
    apt-get install -y curl python-pip && 
    pip install requests && 
    apt-get remove -y python-pip curl && 
    rm -rf /var/lib/apt/lists/*
記錄日志到stdout
# forward request and error logs to docker log collector
RUN ln -sf /dev/stdout /var/log/nginx/access.log
RUN ln -sf /dev/stderr /var/log/nginx/error.log
參考

原文:http://blog.labianchin.me/2016/02/15/docker-tips-and-tricks?mkt_tok=3RkMMJWWfF9wsRonuqTMZKXonjHpfsX57uglXKa%2FlMI%2F0ER3fOvrPUfGjI4DSsprI%2BSLDwEYGJlv6SgFQ7LMMaZq1rgMXBk%3D

https://zwischenzugs.wordpress.com/2015/06/14/my-favourite-docker-tip/

https://website-humblec.rhcloud.com/docker-tips-and-tricks/

https://docs.docker.com/engine/articles/dockerfile_best-practices/

http://www.projectatomic.io/docs/docker-image-author-guidance/

http://crosbymichael.com/dockerfile-best-practices.html

http://crosbymichael.com/dockerfile-best-practices-take-2.html

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/26522.html

相關(guān)文章

  • docker技巧:在宿主機(jī)器上直接查看docker容器的進(jìn)程

    摘要:最近看了這篇文章,了解到容器內(nèi)的一個(gè)進(jìn)程對(duì)應(yīng)于宿主機(jī)器上的一個(gè)進(jìn)程。在宿主機(jī)器上的進(jìn)程擁有者和在容器內(nèi)的進(jìn)程擁有者都是,同理,我們已經(jīng)驗(yàn)證了第二點(diǎn)。 最近看了這篇文章:Understanding how uid and gid work in Docker containers,了解到: docker容器內(nèi)的一個(gè)進(jìn)程對(duì)應(yīng)于宿主機(jī)器上的一個(gè)進(jìn)程。 容器內(nèi)的進(jìn)程,與相對(duì)應(yīng)的宿主進(jìn)程,由...

    nanfeiyan 評(píng)論0 收藏0
  • 化 Java 鏡像的常用技巧

    摘要:本文將介紹精簡(jiǎn)容器鏡像的必要性并以基于的應(yīng)用為例描述最小化容器鏡像的常用技巧。經(jīng)過(guò)這一優(yōu)化,最終鏡像的大小為。 背景 隨著容器技術(shù)的普及,越來(lái)越多的應(yīng)用被容器化。人們使用容器的頻率越來(lái)越高,但常常忽略一個(gè)基本但又非常重要的問(wèn)題 - 容器鏡像的體積。本文將介紹精簡(jiǎn)容器鏡像的必要性并以基于 spring boot 的 java 應(yīng)用為例描述最小化容器鏡像的常用技巧。 精簡(jiǎn)容器鏡像的必要性 ...

    MudOnTire 評(píng)論0 收藏0
  • 【譯文】NPM 技巧&最佳實(shí)踐

    摘要:但在生產(chǎn)環(huán)境下,如果不指定保存依賴(lài)的版本號(hào)會(huì)存在問(wèn)題。它會(huì)生成一個(gè)文件,不僅記錄了當(dāng)前環(huán)境中使用的模塊精確的版本號(hào),還記錄了這些模塊的其他依賴(lài)的版本,以此類(lèi)推。 本文來(lái)自國(guó)外新手向技術(shù)博客RisingStack。有興趣的同學(xué)可點(diǎn)擊原文查看。 相信npm install是npm-cli最常用的功能,但其實(shí)它還有很多其他可挖掘的地方。在本文中,你將會(huì)學(xué)習(xí)如何在應(yīng)用開(kāi)發(fā)的整個(gè)生命周期中——...

    0x584a 評(píng)論0 收藏0
  • 現(xiàn)代PHP開(kāi)發(fā)過(guò)程中的技巧

    摘要:現(xiàn)代建議使用虛擬化工具來(lái)搭建同生產(chǎn)環(huán)境一模一樣的開(kāi)發(fā)環(huán)境?,F(xiàn)代建議我們使用的進(jìn)程管理器來(lái)部署應(yīng)用,并存放在這樣的服務(wù)器。 以下內(nèi)容摘自《Modern PHP》現(xiàn)代PHP,也加入了我的一些理解,如有錯(cuò)誤,麻煩提出,我好改正 避免使用ftp 在這之前,我們使用ftp進(jìn)行代碼管理,修改一個(gè)PHP文件,然后使用ftp上傳,這非常危險(xiǎn)。 現(xiàn)代PHP建議使用版本管理軟件進(jìn)行代碼版本管理,例如使用G...

    Euphoria 評(píng)論0 收藏0
  • Flux7 Docker 系列教程(二):必備的 15 條命令

    摘要:本系列教程翻譯自,系列共有九篇,本文譯自第二篇??偨Y(jié)本章知識(shí)介紹了最基本的十五個(gè)命令,接下來(lái)的教程將會(huì)陸續(xù)介紹如何在中運(yùn)行一個(gè)應(yīng)用以及其他的命令。接下來(lái)會(huì)在本系列教程結(jié)束后補(bǔ)充幾篇應(yīng)用的實(shí)例。 本系列教程翻譯自 Flux7 Docker Tutorial Series,系列共有九篇,本文譯自第二篇 Part 2: The 15 Commands。 該系列所有文章將參考其他學(xué)習(xí)...

    chemzqm 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<