1.安裝docker
wget -qO- https://get.docker.com/ | sh
2.安裝docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose 是方便管理docker集羣的編排工具,能很方便對容器做一些配置,如網絡、文件映射等。
3.常用命令
啓動集羣:
docker-compose up
當集羣中的某個容器有更新,執行上面命令會重新加載該容器:(這樣只重啓有變動的容器,其他的容器不會受影響)。
重啓引擎集羣:
docker-compose restart
停止集羣:
docker-compose stop
查看正在運行中的容器信息:
docker ps
查看所有容器信息:
docker ps -a
單獨重啓某個容器:
docker restart [容器ID]
單獨停止某個容器:
docker stop [容器ID]
單獨啓動某個容器:
docker start [容器ID]
查看某個容器的log:
docker logs [容器ID]
進入容器的bash環境:
docker exec -it [容器ID] /bin/bash
強制停止某個容器(不建議,用stop停止,以便讓容器有足夠的時間去做一些尾動作,kill會直接給容器內部進程發送9號信號):
docker kill [容器ID]
重啓docker服務(不建議,應該先停止正在運行中的容器在進行此操作):
systemctl restart docker
刪除容器:
docker rm
刪除鏡像:
docker rmi
4.Docker compose 配置文件docker-compose.yml註解
以下面格式爲例:
test:
command: test
image: test
container_name: test
restart: always
logging:
options:
max-size: 10m
depends_on:
- test
volumes:
- /data:/data
ports:
- "8081:8080"
networks:
test_net:
ipv4_address: 192.168.18.45
networks:
test_net:
driver: bridge
ipam:
driver: default
config:
- subnet: 192.168.18.0/24
① command
容器啓動時,給容器裏面傳遞的命令,可以覆蓋容器啓動後默認執行的命令。
②image
指定鏡像名稱或者ID,如果本地沒有,compose 將嘗試從服務器拉取
③container_name
容器名稱
④restart
當容器啓動失敗後,一直嘗試重啓
④logging
log選項
⑤depends_on
容器的依賴,解決啓動先後順序的問題
⑥volumes
掛在一個目錄到容器的指定目錄,HOST:CONTAINER
⑦ports
端口映射,HOST:CONTAINER
⑧ports
加入指定子網
⑨nerworks
網絡基本配置
5.docker私有倉庫創建
①快速用docker部署私有倉庫服務器
docker run -p 5000:5000 registry:2.0
②私有倉庫的鏡像名稱格式必須如下
localhost:5000/ubuntu:1204
注:locakhost替換爲服務器ip
③推送/下載 鏡像
docker push localhost:5000/ubuntu:1204
docker pull localhost:5000/ubuntu:1204
④查看私有倉庫鏡像
curl -X GET http://localhost:5000/v2/_catalog
④遇到問題
報錯:Get https://localhost:5000/v2/: http: server gave HTTP response to HTTPS client
解決辦法:
echo "{ \"insecure-registries\":[\"localhost:5000\"] }" > /etc/docker/daemon.json
systemctl daemon-reload
systemctl restart docker