docker 基本语法
1.帮助命令
sudo docker version
查看docker版本sudo docker info
查看docker详细信息sudo 命令 --help
查看帮助信息(主要是参数)
2.镜像命令
-
sudo docker iamges
查看现有镜像 -a -qsudo docker search 镜像名称
命令行搜镜像hub.docker.com
从类似dockerhub搜索镜像 -
sudo docker pull 镜像:tag
拉取指定版本的镜像sudo docker rmi -f 镜像id 镜像id
删除镜像sudo docker rmi -f $(docker images -aq)
删除所有镜像
3.容器命令
-
新建:
sudo docker run -it 镜像名 /bin/bash
新建容器并进入exit
退出ctrl+P+Q
仍在后台运行-p 容器外端口:容器内端口
sudo docker run -d -it 镜像名 容器id
新建但是不进入,后台运行sudo docker exec -it 容器id bash
进入容器打开新的终端sudo docker attach 容器id
进入容器进程 -
sudo docker ps
查看正在运行的容器 -a 显示运行过的容器 -n 控制显示个数 -q只显示编号 -
sudo docker rm 容器id
删除容器(与删除镜像类似) -
sudo docker start 容器id
开始容器进程sudo docker restart 容器id
重启容器进程sudo docker stop 容器id
暂停sudo docker kill 容器id
结束
4.提交自己修改后的镜像
sudo docker commit -a="作者名" -m="信息说明" 容器id 镜像名:tag
提交自己修改后的镜像,然后可以在docker images里找到
5.数据卷
注意两点:1. 容器内和宿主机建立双向映射,只要有一方修改,另一方会立即修改(包括删除数据,但不包括删除容器)。 2. 把容器删除后,宿主机的数据还在
在新建容器时,加入下面的参数:
-
-v 容器外目录:容器内目录
(注意是绝对路径) -
-v 容器内目录
匿名挂载 -
-v 卷名:容器内目录
具名挂载 可通过sudo docker volume inspect 卷名
查看target目录拓展:
-v 容器外目录:容器内目录:ro
在容器内只读,只能在容器外修改。
5.Dockerfile构建
5.1编写自己的dockerfile文件
语法如下图: