在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 IDdocker 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
