docker的主要組成部分
docker是傳統的CS架構分為docker client和docker server,向mysql一樣
docker的鏡像管理
查看鏡像列表:
docker images
docker image ls
導出鏡像:
docker image save centos > docker-centos6.9.tar.gz
導入鏡像:
docker image load -i docker-centos6.9.tar.gz
刪除鏡像:
docker image rm centos:latest
docker image rm 578c3
搜索鏡像 docker search + 鏡像名字
給源中鏡像打標簽:
docker tag nginx:latest 10.0.0.11:80/nginx:latest
推送指定鏡像到docker鏡像源服務器
docker push 10.0.0.11:80/nginx:latest
獲取鏡像 (下載) docker pull image_name
官方pull docker pull centos:6.8(沒有指定版本,默認會下載最新版) 私有倉庫pull docker pull daocloud.io/huangzhichong/alpine-cn:latest
docker history image_name 顯示一個鏡像的歷史
docker build -t <image-name> . *(點一定不能去掉)#使用當前目錄下的Dockerfile構建鏡像
docker的容器管理
docker -v #查看版本
docker info #查看docker信息
運行容器
docker run --name 容器名 -d -p 3306:3306 mysql docker 啟動容器
docker run image_name
docker run -d -p 80:80 nginx:latest
run(創建並運行一個容器)
-d 放在后台
-p 端口映射 :docker的容器端口
-P 隨機分配端口
-v 源地址(宿主機):目標地址(容器)
docker run -it --name centos6 centos:6.9 /bin/bash
-it 分配交互式的終端
--name 指定容器的名字
/bin/sh覆蓋容器的初始命令
docker run image_name 啟動容器***
docker stop container_id 停止容器
docker kill container_name 殺死容器
docker ps (-a -l -q) 查看容器列表
docker container rm 'docker ps -a -q' 刪除所有容器
docker rm -f 'docker ps -a -q` #刪除所有容器
docker ps -a #查看容器列表
docker exec -it 77cd6bef4dc9 /bin/bash #進容器
docker start/stop container-id||container-name 開啟/停止 指定容器id或者容器名稱的容器
docker run -d -p 80:80 -v /opt/xiaoniao:/usr/share/nginx/html nginx:latest
docker logs container-name/container-id #查看容器日志
docker ps | grep ${CONTAINER_ID} #查看容器狀態
docker commit ID new_image_name #鏡像打包 (保存對容器的修改)
docker commit -m="提交的描述信息" -a="作者" 容器id 要創建的目標鏡像名:[標簽名]
docker inspect <id/container_name> #查看容器內部詳情細節
docker login #登錄
Ctrl+P+Q #退出而不關閉容器