文章目录
- 基础
- Docker基础命令
- 镜像操作命令
- 容器操作命令
- 案例:安装MySql
- 案例:查看DockerHub,拉取Nginx镜像,并运行容器
- Docker命令起别名
基础
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进入容器
docker exec -it 容器名 使用的命令集
docker exec -it nginx bash-it 添加一个输入终端命令集可选 bash
退出容器使用exit正常删除容器
docker rm 容器名
强制删除容器
docker rm 容器名 -f
案例:安装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进入MySql
docker exec -it mysql bash
进入后登录mysql
mysql -uroot -p
输入密码即可或者直接进入MySQL
docker exec -it mysql mysql -uroot -p
案例:查看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
Docker命令起别名
给常用Docker命令起别名,方便我们访问:
# 修改/root/.bashrc文件
vi /root/.bashrc
内容如下:
# .bashrc# User specific aliases and functionsalias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias dps='docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"'
alias dis='docker images'# Source global definitions
if [ -f /etc/bashrc ]; then. /etc/bashrc
fi----------------------------
然后,执行命令使别名生效
source /root/.bashrc
接下来,试试看新的命令吧。