## Java官方镜像
docker pull openjdk
## CentOS官方镜像
docker pull centos:centos8
docker pull centos:centos7
## MySql官方镜像
docker pull mysql
## Redis官方镜像
docker pull redis
## 列出运行中的docker容器
docker ps
## 列出所有docker容器
docker ps -a
## 查看容器日志, 发生错误时可以使用此命令打出日志
docker logs nginx
## 从镜像新建一个容器,并在后台持续运行
## --name:用于为容器指定一个名称,同一个镜像可以新建多个容器
## -d:设置容器在后台运行
## -v:用于将主机的指定目录映射到容器的指定目录,(主机目录:容器目录)
## --net=bridge 用于指定网络模式,默认为桥接(bridge)
## --restart=always 用于设置容器开机启动
docker run --name [可为容器指定一个名称] -v /data:/data --net=bridge --restart=always -d [镜像名:tag] /bin/sh -c "while true;do echo hello docker;sleep 1;done"
## 进入docker容器
docker exec -it 容器ID或名称 /bin/bash
## 退出docker容器
exit
## 查看docker容器挂载的目录
docker inspect 容器名称或ID | grep Mounts -A 20
## 新建并启动nginx官方镜像
docker run --name nginx -v /var:/var --net=host --restart=always -d nginx:latest /bin/sh -c "while true;do echo hello docker;sleep 1;done"
## 新建并启动mysql官方镜像
docker run --name mysql -v /var:/var -p 3306:3306 --restart=always -d mysql:latest /bin/sh -c "while true;do echo hello docker;sleep 1;done"
## 新建并启动redis官方镜像
docker run --name redis -v /var:/var -p 6379:6379 --restart=always -d redis:latest /bin/sh -c "while true;do echo hello docker;sleep 1;done"
## 若容器已启动,则可通过命令更新容器为开机自启
docker update --restart=always 容器名称
将容器打包成镜像
## 注:镜像名必须要全部小写,否则将不能打包
docker commit 容器ID 镜像名称:tag
镜像导出
## 将指定镜像保存成 tar 归档文件
## dockerdemo.tar导出后的归档文件,dockerdemo:tag2是镜像名称和tag号
docker save -o dockerdemo.tar dockerdemo:tag2
镜像导入
## 导入时无法对镜像进行重命令
## 若本地已存在同名镜像库,则已存在镜像将会被覆盖
docker load -i dockerdemo.tar