文章目录
- 基础
- Docker基础命令
- 镜像操作命令
- 容器操作命令
- 案例:安装MySql
- 案例:查看DockerHub,拉取Nginx镜像,并运行容器
基础
Docker基础命令
启动Docker
systemctl start docker
镜像操作命令
从远程仓具下载镜像到本地
docker pull 镜像名称 无版本号默认最新
docker pull 镜像名称:版本号
镜像打包到本地,方便传输
docker save -o 打包的文件的名称 镜像名称:版本号
docker save -o MyNginx.tar nginx:latest
读取硬盘上保存的镜像文件
docker load 参数
参数列表
-i 文件名 必须:指定加载的文件
-q 非必须:不输出日志信息
删除镜像
docker rmi 镜像名称 rmi是删除镜像,rm是删除容器
容器操作命令
创建并运行容器
dicker run 参数 镜像的名字:版本号
---参数列表---
-d 后台运行
--name 新名字 容器的名字
-p 端口1:端口2 端口的映射,让容器的接口映射到宿主机的接口
-e K=V 环境变量
由镜像制作者决定需要什么环境,查看DockerHub文档
一个环境就需要一个-e参数
镜像名字后面没有指定版本号的话默认最新版本
查看当前运行容器信息
docker ps 查看运行中的
docker ps -a 查看所有,包括暂停与运行
# 也可以加格式化方式访问,格式会更加清爽
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"
----
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e81686f6cac9 nginx "/docker-entrypoint.…" 3 seconds ago Up 1 second 0.0.0.0:80->80/tcp, :::80->80/tcp nginx
CONTAINER ID 容器ID
IMAGE 运行的镜像
COMMAND 运行指令
CREATED 创建时间
STATUS 状态:UP=启动
PORTS 端口映射
NAMES 容器名
停掉容器
docker stop 容器名
重启容器
docker start 容器名
查看容器日志
docker logs 容器名
docker logs -f 容器名 会一直查看日志
查看容器详细信息,很长很长很长
docker inspect nginx
案例:安装MySql
docker run -d \
--name mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql
---------------------------------------------------
-v 挂载
-d 后台
-p 端口映射
-e MYSQL_ROOT_PASSWORD=AAA 密码
测试MySql是否安装成功
ip addr 命令查看IP地址
然后使用数据库连接工具,root - 123456
案例:查看DockerHub,拉取Nginx镜像,并运行容器
# 第1步,去DockerHub查看nginx镜像仓库及相关信息
https://docs.docker.com/
# 第2步,拉取Nginx镜像
docker pull nginx
# 第3步,查看镜像
docker images
# 结果如下:
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 605c77e624dd 16 months ago 141MB
mysql latest 3218b38490ce 17 months ago 516MB
# 第4步,创建并允许Nginx容器
docker run -d --name nginx -p 80:80 nginx
# 第5步,查看运行中容器
docker ps
# 也可以加格式化方式访问,格式会更加清爽
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"
# 第6步,访问网页,地址:http://虚拟机地址
# 第7步,停止容器
docker stop nginx
# 第8步,查看所有容器
docker ps -a --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"
# 第9步,再次启动nginx容器
docker start nginx
# 第10步,再次查看容器
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"
# 第11步,查看容器详细信息
docker inspect nginx
# 第12步,进入容器,查看容器内目录
docker exec -it nginx bash
# 或者,可以进入MySQL
docker exec -it mysql mysql -uroot -p
# 第13步,删除容器
docker rm nginx
# 发现无法删除,因为容器运行中,强制删除容器
docker rm -f nginx