## docker
#### 一、啟動/停止
1. docker version #查看版本
2. systemctl status docker #查看docker狀態
3. systemctl start docker #啟動docker
4. systemctl stop docker #停止docker
5. systemctl enable docker #docker開機自啟
#### 二、操作
1. 基本操作
docker info #查看docker的信息,容器、鏡像、版本等信息。
docker 操作名稱 --help 查看操作說明
2. 鏡像操作
| 操作 | 命令 | 說明 |
| --- | --- | --- |
| 查找 | docker search 關鍵字 | 可以在Docker Hub網站查看鏡像的詳細信息,如tag(版本)信息 |
| 拉取 | docker pull 鏡像名:tag | tag表示軟件版本,如果不指示拉取最近的版本(latest) |
| 列表 | docker images | 獲取本地docker鏡像列表 |
| 獲取元信息 | docker inspect 鏡像id | 獲取鏡像詳細信息 |
| 刪除 | docker rmi -f 鏡像id或鏡像名:tag | 刪除指定的鏡像 -f表示強制刪除 |
3. 容器操作
| 操作 | 命令 | 說明 |
| --- | --- | --- |
| 運行 | docker run --name 容器名稱 -it -p 本地端口:容器端口 -d -v 本地路徑或者文件:容器路徑或者文件:ro 鏡像id或者鏡像名:tag | \--name 指定容器名稱,-i 以交互模式運行容器 ,-t 分配一個偽終端,即命令行,通常組合使用 -it。-p 表示端口映射,即本地端口映射到容器的端口。-d 表示靜默運行。-v 表示指定掛載主機目錄到容器目錄,后面ro表示容器中只能進行讀操作,默認為rw,即可讀可寫。 |
| 列表 | docker ps -a -q | 查看正在運行容器 ,-a 表示所有容器,表示只顯示容器id |
| 啟動 | docker start 容器id或者容器名稱 | 啟動容器 |
| 停止 | docker stop 容器id或者容器名稱 | 停止容器 |
| 刪除 | docker rm -f 容器id或者容器名稱 | 刪除容器,-f 表示強制刪除 |
| 日志 | docker log 容器id或者容器名稱 | 獲取容器日志 |
| 進入容器 | docker exec -it 容器名稱或者容器名稱 /bin/bash | 以交互模式進入容器。/bin/bash開啟命令行 |
| 拷貝 | docker cp 主機文件路徑 容器id:容器內目標路徑;docker cp 容器id:容器內目標文件路徑 主機路徑 | 將主機中的文件拷貝到容器中,或者反向操作。 |
* [ ] `exit` 退出并關閉容器
* [ ] `docker rm -f $(docker ps -aq)`表示強制刪除所有容器
4. 鏡像修改
* 鏡像更新
使用`commit`提交鏡像
~~~
docker commit -m '描述' -a '作者' 容器id或者容器名稱 鏡像名稱:tag(版本號)
~~~
* 鏡像構建
創建`Dockerfile`并使用`build`命令進行鏡像構建
1. Dockerfile文件實例
~~~
#基礎鏡像
FROM tomcat
?
#作者
MAINTAINER hudong
?
#執行命令
RUN rm -f /usr/local/tomcat/webapps/ROOT/index.jsp
RUN echo 'welcome to tomcat!' > /usr/local/tomcat/webapps/ROOT/index.html
~~~
2. 構建語法
~~~
docker build -f 文件名稱(默認為Dockerfile) -d 鏡像名稱:版本號
~~~