镜像仓库 Docker Hub
镜像仓库的国内镜像源(阿里云):
【Ubuntu18.04】Docker配置镜像源-阿里云开发者社区
运行
systemctl start docker
启动服务
镜像管理
docker search xxx
搜索xxx镜像
docker pull aaa/xxx
拉取镜像
创建并运行 run命令
docker run
创建并运行一个容器
常用参数:
-d
: 后台运行容器,并返回容器ID;- 不加
-d
会卡在那,等待输出日志
- 不加
--name="nginx-lb":
为容器指定一个名称;- 必须唯一
-p
: 指定端口映射,格式为:主机(宿主)端口:容器端口-e username="ritchie"
: 镜像环境变量;- 由镜像的制作者决定的,查阅镜像文档可知如何配置
--volume
,-v
: 绑定一个卷- 更多见数据卷部分
- 指定运行镜像的名字
- 完整写法:
mysql:8.0
没写默认最新版本
- 完整写法:
其它参数:
- -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
- -i: 以交互模式运行容器,通常与 -t 同时使用;
- -P: 随机端口映射,容器内部端口随机映射到主机的端口
- -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
- –dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
- –dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
- -h “mars”: 指定容器的hostname;
- –env-file=[]: 从指定文件读入环境变量;
- –cpuset=”0-2” or –cpuset=”0,1,2”: 绑定容器到指定CPU运行;
- -m : 设置容器使用内存最大值;
- –net=”bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
- –link=[]: 添加链接到另一个容器;
- –expose=[]: 开放一个端口或一组端口;
1 | docker -d \ |
常见命令
官网:Docker Docs
docker xxx --help
查看具体命令帮助
镜像管理:
docker pull
下载到本地docker pull nginx
docker push
推送镜像到云端docker images
查看本地镜像docker rmi
删除本地镜像docker build
通过 dockerfile 构建镜像docker save
保存镜像为压缩包docker save -o nginx.tar nginx:latest
-o 文件名
docker load
将save保存的压缩包,加载为本地镜像
容器:
docker run
创建运行容器
docker stop
停止容器内部的进程
docker start
启动容器内部的进程
docker ps
查看容器运行状态docker ps -a --format "table {{.ID}}\t{{.Image}}\t{{.Names}}\t{{.Ports}}\t{{.Status}}"
-a
显示所有容器,包括未运行的道容器
docker rm
删除容器-f
强制删除
docker logs
查看日志docker logs nginx
docker exec
进入容器内部-it nginx bash
可交互终端,命令行
docker inspect nginx
查看容器信息(Mounts处有数据卷信息)
数据卷
主机中数据卷固定目录: /var/lib/docker/volumes/

docker run -v 数据卷名:容器内目录
数据卷挂载,如果数据卷不存在,则自动创建
docker run -v 本地目录:容器内目录
挂载到本地目录。 目录以 /
./
开头
自定义镜像
Dockerfile
network 网络
host 为IP地址为主机地址一样