docker镜像

  • 镜名称一般分两部分组成:[repository]:[tag]。
  • 在没有指定tag时,默认是latest,代表最新版本的镜像
image-20210731155141362
1
2
3
4
5
6
7
8
9
10
11
12
#查看xx帮助
docker xx --help
#拉取镜像
docker pull nginx:[tag]
#查看拉取到的镜像
docker images
#导出镜像到磁盘
docker save -o nginx.tar nginx:latest
#删除镜像
docker rmi nginx:latest
#把镜像加载回来
docker load -i nginx.tar
image-20210731155649535

docker容器

docker服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#启动docker服务
systemctl start docker
#查看docker下对应服务的CONTAINER ID
docker ps -a
#拿到容器id后用id或者别名来启动容器
docker start fbc1c7e26839
docker start mq
#查看mq端口映射关系
docker port mq

# 开启 docker 自启动
systemctl enable docker.service
# 关闭 docker 自启动
systemctl disable docker.service

docker容器

1
2
3
4
5
6
#每次docker服务重启后容器也自动重启
docker run --restart=always
# 开启容器自启动
docker update --restart=always nginx
# 关闭容器自启动
docker update --restart=no nginx
  • no:不要自动重启容器。(默认)
  • on-failure: 如果容器由于错误而退出,则重新启动容器,该错误表现为非零退出代码。
  • always:如果容器停止,请务必重启容器。如果手动停止,则仅在Docker守护程序重新启动或手动重新启动容器本身时才重新启动。
  • unless-stopped:类似于always,除了当容器停止(手动或其他方式)时,即使在Docker守护程序重新启动后也不会重新启动容器。

docker容器操作

1
2
3
4
5
6
7
8
#创建并运行nginx容器
docker run --name mn -p 80:80 -d nginx
#进入容器,修改文件
docker exec -it mn bash
#查看日志: -f参数可以持续查看日志
docker logs
#查看容器状态: -a查看所有容器,包括已经停止的
docker ps
image-20210731161950495

数据卷

1
2
3
4
5
6
7
8
9
10
11
12
#创建数据卷
docker volume create html
#查看所有数据
docker volume ls
#查看数据卷详细信息卷
docker volume inspect html
#删除指定数据卷
docker volume rm
#删除所有未使用的数据卷
docker volume prune
#创建容器并挂载数据卷到容器内的HTML目录
docker run --name mn -v html:/usr/share/nginx/html -p 80:80 -d nginx

dockerfile自定义镜像


docker-compose