docker常用操作

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章