查詢映象
search --> centos7
一般docker 會有乙個基礎映象,中介軟體映象,應用映象,生成乙個映象
docker build 通過dockerfile生成映象
docker images 檢視當前本地有哪些docker映象
docker run 通過docker映象生成docker容器(docker help run 檢視run命令)
docker ps 檢視正在up執行中的docker映象,docker ps -a 檢視所有的
docker exec 進入容器
docker rm 刪除容器,-f 強制刪除,up狀態的也可以刪除
docker stop 停止提乙個容器
docker start 啟動乙個容器
docker tag 給映象打標籤(docker tag imageid name:tag)
docker rmi 刪除images,通過image的id來指定刪除誰
git clone
docker 映象位址 docker pull centos
dockerfile 是自動構建docker映象的配製檔案。
進入到git下,進入centos7目錄下
docker build是用dockerfile生成docker映象,每個add,生成乙個docker layer
# docker build -t fu/centos:7.0 .
-t 給映象取名字
完整命令規則: docker build -t registry_url/namespace/imagename:version ./path
(--如果沒寫vestion默契為latest最新的 .如果dockerfile在當前目錄下,只用.就可以,否則加上dockerfile路徑)
#docker run -it -d -p 2222:22 --name base fu/centos:7.0
-it 互動模式,前台啟動
-d 後端其動,返回id號
-p 小p,如果用 9999:22,重啟後還是用指定埠對映,如果占用,報錯
-p 大p,自動找無人使用的埠對映,如果伺服器重啟,就會隨機用個別的埠對映
--name 給容器取個名字
fu/centos:7.0 用哪個映象啟動容器,如果容器在本地不存在,則遠端pull,找不到則報錯 (
unable to find image 'csphere/centos7:7.1' locally
pulling repository docker.io/csphere/centos7
docker: error: image csphere/centos7:7.1 not found.
see 'docker run --help'. )
docker exec -it website /bin/bash
exec 進入容器
-it 互動模式
容器名稱
/bin/bash (
docker help 中可以看出attach 也可以進入容器中,但是試過會有卡死現象
exit退出,container 還是處於up狀態
容器是基於基礎映象生成的容器,所以具有centos的命令 )
構建中介軟體映象myslq
進入mysql
docker build -t fu/mysql:5.4 .
生成映象
docker images 檢視當前本地映象
啟動 mysql的docker容器
docker run -d -p 3306:3306 --name dbserver fu/mysql:5.4
返回id串,成功
docker ps
檢視是否啟動container成功
docker exec -it dbserver /bin/bash
進入container
mysql
進入db裡,可用mysql指令操作啦
show databases;
剛才啟動,沒有給環境變數,就是使用者與密碼,用的默訂的
刪除容器,再試一次。
docker rm 只能刪除非up狀態的
docker rm
啟動容器 docker run -d -p 3306:3306 -v host_dir:container_dir imagename (host_dir:container_dir 用於宿主機與容器掛載,資料同步)
docker run -d -p 3306:3306 -v /var/lib/docker/vfs/dir/mydata:/var/lib/mysql cephere/mysql:5.4 (未設定--name 則自動生成乙個name)
通過docke exec -it [docke 容器名稱或id全或id前幾位可區分即可] /bin/bash
這次建立mysql使用者,然後刪除容器,再次建立容器,指定到掛載目錄,看數是否能將歷史自動載入進來。
create database mydb;
show databases;
exit;
exit
檢視一下,docker是否創健了指定的掛在目錄。
ls /var/lib/docker/vfs/dir/mydata/
停掉容器 docker stop id
刪除mysql容器,docker rm id
再次檢視,看掛載目錄是否存在
ls /var/lib/docker/vfs/dir/mydata/
再次建立乙個容器,指定到掛載的目錄,確認資料是否能夠回來
docker run -d -p 3306:3306 --name newdb -v /var/lib/docker/vfs/dir/mydata:/var/lib/mysql fu/mysql:5.4
docker ps
docker exec -it newdb /bin/bash
mysql
show databases;
可以看到資料庫還存在
建立應用
應用裡加入乙個dockerfile 和 init.sh
.dockerignore檔案,可以過濾掉,不須要copy的檔案
show databases;
啟動應用容器
docker run -d -p 80:80 --name wordpress -e wordpress_db_host=192.168.80.241 -e wordpress_db_user=admin -e wordpress_db_password=cephere2015 cephere/wordpress:4.2
docker-compose up 【
如果docker-compose --version 為無效指令,則須安裝docker-compose 組合
curl -l -s`-`uname -m` > /usr/local/bin/docker-compose
#授權chmod +x /usr/local/bin/docker-compose
#查版本號
docker-compose --version
#當前目錄構建組合映象。須存在docker-compose.yml檔案
docker-compose up -d 】
docker常見命令
常用命令 命令用途 docker pull 獲取 images docker build 建立images docker images 列出images docker run 執行container docker ps 列出container docker rm 刪除container docker...
docker常見命令
1.檢視映象 docker images 或者 docker image ls 2.拉取映象 docker pull 映象名稱 映象標籤 docker pull redis 5.0.6 該命令會從官方redis庫拉取標籤為5.0.6的映象 docker pull redis latest 或者doc...
Docker 常見命令
說明命令截圖1 檢視docker版本 docker v 2檢視映象 3檢視容器 docker container ls 4刪除映象 docker rmi 映象id 5刪除容器 docker rm 容器id 6複製容器內容 docker cp 容器名 id 路徑 宿主機目錄 報錯了。因為沒有停止容器,...