DevOps運維Centos7.6上部署Docker環境


在Centos7.6上部署Docker環境

#升級yum
sudo yum update
#卸載舊版本docker
sudo yum remove docker  docker-common docker-selinux docker-engine
#安裝依賴
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
#設置源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast
#安裝docker
sudo yum install docker-ce
#啟動服務
sudo systemctl start docker
#查看版本
docker version
#拉取鏡像
docker pull hello-world
#啟動容器
docker run hello-world

安裝docker-compose並授權

sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

docker-compose -v

重新創建容器並運行

docker-compose up --force-recreate (up 相當於 build + start)

Docker 容器 鏡像 刪除

  • 查看已運行容器

    • docker ps
  • 查看所有容器

    • docker ps -a
  • 查看images

    • docker images
  • 刪除images

    • docker rmi IMAGE ID
    • docker rmi REPOSITORY:TAG
  • 刪除 鏡像

docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }') #停止容器

docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }') #刪除容器

docker rmi $(docker images | grep "^<none>" | awk '{print $3}') #刪除鏡像
  • 停止所有的container,這樣才能夠刪除其中的images:

    • docker stop $(docker ps -a -q)
  • 如果想要刪除所有container的話再加一個指令:

    • docker rm $(docker ps -a -q)
  • 要刪除全部image的話

    • docker rmi $(docker images -q)

理解要點

expose 與 ports 比較

  • ports: 綁定容器的端口到主機的端口,這樣就可以在外網訪問docker容器的服務
  • expose: 將當前容器的端口3暴露給link到本容器的容器,expose不會將端口暴露給主機

depends_on 與 links區別

  • depends_on: 指定本容器啟動依賴的容器必須先啟動
  • links: 保證容器如果ip變化也能訪問(基本已經棄用,因為不使用link仍然可以通過容器名稱訪問)

報錯處理

(docker)RUN apt update、(linux)apt和apt-get命令

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

sudo apt install -y blender > /dev/null 2> /dev/null


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM