查看 docker 版本或信息
~~~
$ docker version
# 或者
$ docker info
~~~
#
# docker 服务管理
#
## 启动
### Linux
service 命令的用法
~~~
$ sudo service docker start
~~~
systemctl 命令的用法
~~~
$ sudo systemctl start docker
~~~
### Windows
> 待续
#
# image (镜像)
#
在官方镜像库中搜索
~~~
$ docker search [关键词]
~~~
查看/删除
~~~
# 列出本机的所有 image 文件。
$ docker image ls
# 删除 image 文件
$ docker image rm [imageName]
~~~
获取镜像文件
~~~
$ docker image pull library/hello-world
~~~
## 示例:
获取 MySQL 5.7 版本的 image
~~~
$ docker image pull mysql:5.7
~~~
#
# container (容器)
#
本机正在运行的容器
~~~
$ docker container ls
# 或
$ docker ps
~~~
本机所有容器(包括未运行的)
~~~
$ docker container ls --all
~~~
## 创建并运行容器
使用 run 命令是使用 image 创建个容器,并把创建好的容器运行起来。
~~~
$ docker container run hello-world
~~~
## 运行/停止/终止 容器
启动容器
~~~
$ docker start [containID]
~~~
停止容器
~~~
$ docker stop [containID]
~~~
终止镜像运行
~~~
$ docker container kill [containID]
~~~
## 容器内
进入容器
~~~
$ docker exec -it [containID] /bin/bash
~~~
查看容器日志
~~~
$ docker logs [containID]
# 或
$ docker container logs [containID]
~~~
复制容器文件,注意最后面的那个点,代表宿主机的当前目录
~~~
$ docker container cp [containID]:[/path/to/file] .
~~~
### 示例
~~~
docker run --name mysql5.7-master-node-01 -p 3406:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
~~~
注意,这里的容器名字叫:mysql5.7-master-node-01,mysql的root用户密码是:123456,映射宿主机子的端口3406到容器的端口3306,仓库名mysql和标签(tag)唯一确定了要指定的镜像,其实如果这里只有一个mysql也有必要要tag,执行该命令返回的结果是:
~~~
c8acec7bb2cbc9a6fbb5d6c004e1d2f83a1299e937366e8ba51b0ce305c86b39
~~~
#
# 问题
#
* run 后的容器怎么挂载目录
* 容器间的网络连通
#
# 参考资料
#
> [Docker 入门教程(阮一峰)](http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html)