docker可能会用到的命令
docker的两个概念
-
镜像:即 image,可以是从dockerhub上拉取的镜像,也可以是根据dockerfile在本地创建的镜像
-
容器:即 container, 容器都是基于镜像创建的
用面向对象的思维来理解二者之间的关系,可以把image认为是类,把container认为是类的实例
提示
- 命令的sudo前缀在root用户下可去掉,
好吧,用过Linux之后这就是常识了。下文中部分命令省略了sudo前缀,如果你用非root用户执行命令,可能会由于权限不足产生错误,请自行决定sudo命令前缀的存在与否 - 对容器名或镜像名等进行替换时,应该把两侧的大括号也删掉,文中在其两侧添加大括号的目的是为了更加醒目
创建镜像并命名
根据当前目录下的dockerfile来生成镜像,注意末尾的 “." 不能缺失
sudo docker build -t {
镜像名} .
创建容器并运行
适用于该镜像没有其它容器运行时,并且在容器创建完成后会自动删除该容器
sudo docker run -it --rm -p {
宿主端口}:{
容器端口} {
镜像名}
在现有容器中运行
该命令通常是用来进入已有容器中进行调试,下面的cmd通常是 bash
sudo docker exec -it {
容器名} {
cmd}
查看现有容器生成的日志
首先,该命令要求容器是运行状态的,命令如下:
tail -f `docker inspect --format='{
{.LogPath}}' {
容器名}`
该命令会动态的将日志输出到终端中。要想退出,按住组合键Ctrl-c
即可