docker簡介-命令-安裝(090628)

Docker 基本概念

  • Docker可以看做是一個高度濃縮、簡易的linux系統,比如centos的鏡像只有170M(普通linux系統有4G)
  • 鏡像(image)、容器(container)、倉庫(repository)

鏡像(image)

鏡像類似模板(可以用java中類比喻,比如Person類)

容器(container)

容器是用鏡像創建的實例,可以創建一個或多個實例(可以用java中實例對象比喻)

Person p1=new Person();
Person p2=new Person();
Person p3=new Person();

p1、p2、p3 就是三個容器,都來自於Person這個模板

  • 可以吧容器看做簡易版的Linux環境和運行在環境中的應用程序,容器有獨立的root用戶權限、進程空間、用戶空間、網絡空間等
  • 一個容易一般運行一個服務,比如一個容器運行mysql服務,另外一個容器運行redis服務

倉庫(repository)

倉庫是集中存放鏡像的場所,最大的倉庫是Docker Hub,類似maven的中央倉庫

Docker 命令

  • 注意:Docker 安裝和配置在centos6與centos7環境有區別
//啓動(CentOs7.0以上)
systemctl start docker
//停止docker 服務
systemctl stop docker
//重啓docker服務
systemctl restart docker
//查看docker進程(進程上可以看到鏡像倉庫地址)
ps -ef|grep docker
//常看當前docker 信息
docker info
//幫助
docker --help

鏡像相關命令

//查看本地鏡像
docker images
docker images -a //本地所有鏡像 a=all
docker search //docker hub 上搜索
//找starts大於30的tomcat鏡像
docker search -s 30 tomcat
//從中央倉庫拉取tomcat鏡像到本地
//docker pull tomcat 等價於docker pull tomcat:latest(版本號不寫默認爲latest)
docker pull tomcat
//刪除鏡像(rmi--> rm image) 無版本號時默認爲latest
docker rmi 鏡像id或鏡像名
docker rmi tomcat//刪除tomcat鏡像
docker rmi -f tomcat //強制刪除
docker rmi -f tomcat nginx //強制刪除tomcat nginx鏡像,刪除多個用空格分開
//列出本地鏡像id
docker images -q
//列出本地鏡像的全部id,批量刪除或清庫時用
docker images -qa
docker run  xxxx 
docker pull xxxx
docker build xxxx

製作鏡像

//將當前運行的容器發佈爲一個新的鏡像 -a 作者、-m 說明  9fa6rewruw爲容器ID ,後面的爲鏡像名稱和版本號
docker commit -a="zhousq" -m="image descript" 9fa6rewruw rock/rocktomcat:1.0

容器相關命令

//新建並啓動容器,-v 的v爲volume(卷)縮寫,表示數據(-v /localDir:/dockerDir,先是宿主機目錄,後是容器內的目錄)
docker run  很多參數
//查看當前docker 所有運行的容器進程
docker ps
//查看所有容器
docker ps -a
//刪除指定容器
docker rm 容器ID
//刪除所有容器
docker rm $(docker ps -a -q)
//啓動容器
docker start 容器ID
//停止容器
docker stop 容器ID
//重啓容器
docker restart 容器ID
//進入mysql docker控制檯
docker exec -it 2cbb0f246353 /bin/bash
//退出不關閉容器
Ctrl+P+Q
//退出並關閉容器
exit
//從容器copy 文件到本地
docker cp fa11763a0096:/fdfs_conf/storage.conf /opt/temp/
//從本地copy 文件到容器
docker cp /opt/temp/storage.conf fa11763a0096:/fdfs_conf/
// 獲取容器/鏡像的元數據
docker inspect 容器ID


  • docker run xxx 運行流程:先在本地倉庫中查找是否有鏡像,沒有則到遠程倉庫中pull,類似maven依賴下載流程,如下

CentOs7.X安裝Docker-ce

//更新yum軟件包索引
yum update
//1.安裝工具包
yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
//2.安裝倉庫
yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
//更新yum軟件包
yum makecache fast
//安裝docker-ce
yum -y install docker-ce
//啓動docker
systemctl start docker
//查看docker版本
docker version
//配置阿里鏡像加速
mkdir -p /etc/docker
//{"registry-mirrors":["https://ximikymi.mirror.aliyuncs.com"]}
vi /etc/docker/daemon.json  
//重載配置
systemctl daemon-reload
//重啓docker
systemctl restart docker
//查看進程情況
ps -ef|grep docker|grep -v grep 

CentOs7.X 卸載Docker-ce

//停docker
systemctl stop docker
//卸載docker
yum -y remove docker-ce
//刪除庫
rm -rf /var/lib/docker

CentOs7.X 安裝mysql5.6

//拉去鏡像
docker  pull  mysql:5.6
//啓動容器 -p 端口映射,--name 別名  -v 配置(配置文件、日誌、數據文件,-e root密碼),-d 後臺啓動 
docker run \
-d  \
-p 3306:3306  \
-e MYSQL_ROOT_PASSWORD=root \
--name mysql5.6-docker \
-v /opt/application/mysql-docker/logs:/logs \
-v /opt/application/mysql-docker/data:/var/lib/mysql   mysql:5.6 

CentOs7.X 卸載mysql5.7

//獲取容器ID
docker ps 
//停止容器
docker stop  f595c6efb240
//刪除容器
docker rm  f595c6efb240
//刪除宿主機上的mysql文件
cd /opt/application/mysql-docker/
rm -rf *
//查看鏡像id
docker images
//刪除鏡像
docker rmi 7faa3c53e6d6

CentOs7.X 安裝rabbitMQ

//獲取鏡像 帶management的版本表示有web功能
docker  pull  rabbitmq:3.7.15-management 
//啓動容器15672 爲web端口
docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq-docker   476495614692

CentOs7.X 安裝vi

//docker 鏡像一般沒有vi編輯器,若需要編輯內部文件需要安裝
//這個命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d  中列出的源的索引,這樣才能獲取到最新的軟件包。
apt-get update
//安裝
apt-get install vim

CentOs7.X 安裝redis

//獲取鏡像,最新版
docker pull redis
//運行容器
docker run -d -p 6379:6379 --name redis-docker redis

CentOs7.X 安裝fastDFS

//獲取鏡像,最新版
docker pull season/fastdfs
//創建tracker容器 --net=host 表示網絡同宿主機
docker run -it -d --name trakcer-docker \
-v /opt/application/fastdfs-docker/tracker_data:/fastdfs/tracker/data \
--net=host season/fastdfs tracker

//創建 storage容器
docker run -it -d --name storage-docker \
-v /opt/application/fastdfs-docker/storage_data:/fastdfs/storage/data \
-v /opt/application/fastdfs-docker/store_path:/fastdfs/store_path \
--net=host \
-e TRACKER_SERVER:172.20.10.6:22122 \
-e GROUP_NAME=group1 season/fastdfs storage
// tracker、storage容器啓動後,配置服務
//進入storage容器,到storage的配置文件中配置http訪問的端口,配置文件在fdfs_conf目錄下的storage.conf。
docker exec -it 2cbb0f246353 /bin/bash
cd fdfs_conf
more  storage.conf //可以查看配置文件的原始信息
//ctrl+p+q,退出容器修改storage.conf
//現將容器中的配置文件copy到宿主機上修改後再copy進去
docker cp fa11763a0096:/fdfs_conf/storage.conf /opt/temp/  //copy 到/opt/temp
cd /opt/temp/
vi storage.conf //修改tracker_server=192.168.209.121:22122的IP爲172.20.10.6
docker cp /opt/temp/storage.conf fa11763a0096:/fdfs_conf/   //將修改後的配置文件copy到容器裏面去
docker restart fa11763a0096  //重啓容器
docker exec -it fa11763a0096 /bin/bash  //查看容器的關聯情況
cd fdfs_conf
fdfs_monitor storage.conf //可以查看group 信息

CentOs7.X 安裝libreoffice/online

//獲取鏡像
docker pull libreoffice/online

docker命令圖譜

image

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