1. 程式人生 > 實用技巧 >tarjian演算法求強聯通分量

tarjian演算法求強聯通分量

docker 安裝

sudo apt-get update

sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

curl -fsSL http://mirrors.[aliyun.com/docker-ce/linux/ubuntu/gpg](http://aliyun.com/docker-ce/linux/ubuntu/gpg) | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] [http://mirrors.aliyun.com/docker-ce/linux/ubuntu](http://mirrors.aliyun.com/docker-ce/linux/ubuntu) $(lsb_release -cs) stable"

sudo apt-get -y update

sudo apt-get -y install docker-ce

docker version

有時候安裝失敗,需要確認一下系統版本 i386 似乎不支援不了

dpkg --print-architecture

amd64 或者 i386

docker-compose 安裝

curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

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

docker-compose version

mkdir /data

mkdir /data/docker

mkdir /data/docker-data

docker network create my_net

docker & docker-compose 完整安裝命令

sudo apt-get update && 

sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common && 

curl -fsSL http://mirrors.[aliyun.com/docker-ce/linux/ubuntu/gpg](http://aliyun.com/docker-ce/linux/ubuntu/gpg) | sudo apt-key add - && 

sudo add-apt-repository "deb [arch=amd64] [http://mirrors.aliyun.com/docker-ce/linux/ubuntu](http://mirrors.aliyun.com/docker-ce/linux/ubuntu) $(lsb_release -cs) stable" && 

sudo apt-get -y update && 

sudo apt-get -y install docker-ce && 

curl -L [https://github.com/docker/compose/releases/download/](https://github.com/docker/compose/releases/download/)1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose && 

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

mkdir /data && 

mkdir /data/docker && 

mkdir /data/docker-data && 

docker network create my_net && 

docker version && 

docker-compose version

docker 更換阿里雲映象源

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{
  "registry-mirrors": ["[https://kmvocfqq.mirror.aliyuncs.com](https://kmvocfqq.mirror.aliyuncs.com/)"]
}

EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

docker-compose 測試配置

version: '2'
services:

  mysql:
    image: mysql:8.0.13
    hostname: dbMysql
    restart: always
    command: --default-authentication-plugin=mysql_native_password
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    volumes:
      - /data/docker-data/volumes/mysqldb:/var/lib/mysql:rw
      - /data/docker-data/sql:/opt/sql
    ports:
      - "9100:3306"

  mongo:
    image: mongo:3.4
    hostname: dbMongo
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      # 注意此處使用了volumes,重新開啟賬號密碼會寫不進admin導致無法登陸
      MONGO_INITDB_ROOT_PASSWORD: 123456
    ports:
      - 9101:27017
    volumes:
      - /data/docker-data/volumes/mongodb:/data/db:rw
      - /data/docker-data/mongoData:/opt/mongoData:rw

  redis:
    image: redis:4.0.11-alpine
    hostname: dbRedis
    restart: always
    command: redis-server --requirepass 123456
    # 或者使用配置啟動 redis-server /usr/local/etc/redis/redis.conf
    volumes:
      - /data/docker-data/volumes/redis/redis.conf:/usr/local/etc/redis/redis.conf
      - /data/docker-data/volumes/redis/db:/data
    ports:
      - 9102:6379

networks:
  my_net:
    external: true

docker 常用命令

docker ps       檢視啟動的容器列表
docker ps -a    檢視所有容器列表
docker images   檢視所有映象
docker rm $(docker ps -a -q)            刪除所有容器,需要先停止
docker rmi $(docker images -q)          刪除所有映象
docker exec -it apollo_1 bash           進入容器apollo_1
docker exec -it my_docker sh            進入 apline 構建的映象
docker exec -it db_mongo_1 mongo        直接以mongo命令進入容器
docker exec -it db_redis_1 redis-cli    直接以redis-cli命令進入容器
docker rmi $(docker images |awk '{if($2=="<none>")  print $3}') 刪除標籤為none的映象
docker stats    實時監控容器的資訊 
docker stats --no-stream    只輸出當前的資訊
# 需要進入到包含有 docker-compose.xml的檔案目錄下執行
docker-compose up           啟動
docker-compose down         停止
docker-compose up -d        守護模式啟動
# 複製宿主機的 insert.sql檔案到 db_mysql_1 容器的目錄 /opt/sql/
docker cp /data/insert.sql db_mysql_1:/opt/sql/

# 複製 db_mysql_1 容器的目錄 /opt/sql/insert.sql 到 宿主機的 /data
docker cp db_mysql_1:/opt/sql/ /data/
# 檢視最後十條記錄,並實時更新
docker logs -f --tail 10 sedirea_weekly_1

# 從某個日期開始,檢視最後一百條記錄,並實時更新
docker logs -f -t --since="2018-11-20T13:50:16.184406342Z" --tail=100 apollo_admin_1
# 安裝相關工具  
apt-get update                      (更新源)
apt-get install inetutils-ping      (18.04安裝ping)
apt-get install iputils-ping        (舊版安裝ping)
apt-get install net-tools           (安裝ifconfig)

docker-compose 常用命令

docker-compose up -d nginx                     構建建啟動nignx容器

docker-compose exec nginx bash            登入到nginx容器中

docker-compose down                              刪除所有nginx容器,映象

docker-compose ps                                   顯示所有容器

docker-compose restart nginx                   重新啟動nginx容器

docker-compose run --no-deps --rm php-fpm php -v  在php-fpm中不啟動關聯容器,並容器執行php -v 執行完成後刪除容器

docker-compose build nginx                     構建映象 。        

docker-compose build --no-cache nginx   不帶快取的構建。

docker-compose logs  nginx                     檢視nginx的日誌 

docker-compose logs -f nginx                   檢視nginx的實時日誌

docker-compose config  -q                        驗證(docker-compose.yml)檔案配置,當配置正確時,不輸出任何內容,當檔案配置錯誤,輸出錯誤資訊。 

docker-compose events --json nginx       以json的形式輸出nginx的docker日誌

docker-compose pause nginx                 暫停nignx容器

docker-compose unpause nginx             恢復ningx容器

docker-compose rm nginx                       刪除容器(刪除前必須關閉容器)

docker-compose stop nginx                    停止nignx容器

docker-compose start nginx                    啟動nignx容器