Docker基本操做

1.1 Centos下 docker 安裝

  1. yum 包更新到最新 sudo yum updatemysql

  2. 安裝依賴包,yum-util 提供 yum-config-manager功能,另外兩個是安裝驅動 sudo yum install -y yum-utils device-mapper-persistent-data lvm2linux

  3. 設置 yum 源爲阿里雲 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reporedis

  4. 安裝docker sudo yum install docker-cesql

  5. 安裝完成後查看docker版本 docker -vmongodb

1.2設置 ustc 鏡像

編輯文件:vi /etc/docker/daemon.json 添加 {"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]}docker

1.3 Docker 的啓動與中止

systemctl 命令是系統服務管理器指令json

  1. 啓動 docker systemctl start docker systemctr status docker // 查看啓動狀態centos

  2. 關閉 dockr systemctl stop docker systemctl status dockerbash

  3. 重啓 docker systemctl restart docker systemctl status dockerapp

  4. 開機啓動 systemctl enable docker systemctl status docker

  5. docker 信息 docker info

  6. docker幫助命令 docker --help

經常使用命令

鏡像命令

  1. 查看鏡像 dcoker images

  2. 搜索鏡像 docker search centos

參數表示: NAME: 倉庫名稱 DESCRITION: 鏡像描述 STARS: 用戶評價,第一個是評價最高的鏡像 OFFICIAL: 是不是官方提供的鏡像 AUTOMATED: 自動構建,表示該鏡像由 Docker Hub自動構建流程建立的

  1. 拉去鏡像 docker pull 鏡像名:版本號 例如: docker pull centos:7 若是不指定版本, 則默認最後一個版本

  2. 刪除鏡像 docker rmi 鏡像ID 或者 docker rmi 鏡像名

  3. 刪除全部鏡像 docker rmi `docker images -q`

容器命令

  1. 查看運行中的容器 docker ps

  2. 查看全部容器,包括沒有運行的 docker ps -a

  3. 建立與啓動容器 docker run 後面會跟一些參數,參數講解

參數說明 -i 表述運行容器 -t 表示容器啓動後會進入命令行模式,通常 -it 一塊兒使用,可以分配一個僞終端而且登陸進去 --name 爲建立的容器命名 -v 表示目錄映射關係(前者是宿主機目錄,後者是映射到宿主機上的目錄),能夠使用多個 -v 作多個目錄或者文件映射。注意:最好作目錄映射,在宿主機上作修改,而後共享到容器上 -d 在run後面加上 -d 參數,則會建立一個守護式容器在後臺運行,這樣建立的容器不會自動登陸容器,若是隻加-i-t 兩個參數,建立後就會自動進入容器

例如 交互式建立容器 docker run -it --name=容器名稱 鏡像名稱:標籤 /bin/bash

  1. 刪除容器 docker rm 容器ID

  2. 刪除全部容器 docker rm $(docker ps -aq)

  3. 中止並刪除全部容器 docker stop $(docker ps -q) & docker rm $(docker ps -aq)

mysql 相關

  • 查看可用 mysql 版本 docker search mysql

  • 拉取指定版本的mysql docker pull mysql:5.6

  • 查看拉去的mysql: docker images |grep mysql

  • 運行 myql: docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

    1. -p 3306:3306: 將容器的 3306 端口映射到主機的 3306 端口
    2. -v -v $PWD/conf:/etc/mysql/conf.d 將主機當前目錄下的conf/my.cnf 掛載到的容器的 /etc/mysql/my.cnf
    3. -v $PWD/log:/logs: 將主機當前目錄下的 logs 掛載到容器的 /logs
    4. $PWD/data:/var/lib/mysql 將主機當前目錄下的data目錄掛載到容器的 /var/lib/mysql
    5. -e MYSQL_ROOT_PASSWORD=123456 初始化 root 的密碼
  • 進入容器 docker exec -ti mysql bash

  • 登錄mysql mysql -u root -p

  • 而後執行 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'guofeng2019';

  • 添加遠程登陸用戶: CREATE USER 'liaozesong'@'%' IDENTIFIED WITH mysql_native_password BY '123456!'; GRANT ALL PRIVILEGES ON *.* TO 'liaozesong'@'%';

mongo

  1. 啓動:

    docker run -p 27017:27017 -v $PWD/db:/Users/guofeng/Documents/DB/mongodb -d mongo

Redis(這個來自w3cschool)

  1. 啓動redis:

    docker run -p 6379:6379 -v $PWD/data:/data -d redis:3.2 redis-server --appendonly yes

命令說明

  • p 6379:6379 : 將容器的6379端口映射到主機的6379端口

  • -v $PWD/data:/data : 將主機中當前目錄下的data掛載到容器的/data

  • redis-server --appendonly yes : 在容器執行redis-server啓動命令,並打開redis持久化配置

相關文章
相關標籤/搜索