## 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 镜像名称:版本号
~~~