Docker:命令
- 1. 创建MySQL的命令解读
- 2. 基础命令
- 3. 案例 查看DockerHub,拉取Nginx镜像,创建并运行Nginx容器
- 4. 命令别名
- 附录
1. 创建MySQL的命令解读
docker run
:创建并运行一个容器,-d 是让容器在后台运行--name
:给容器起一个名字-p
:端口映射,前面是宿主机的端口,后面是MySQL的端口-e
:-e KEY=VALUE
是设置环境变量
镜像命名规范
- 镜像名称一般由两部分组成:
[repository]:[tag]
- 其中repository就是镜像的名字
- tag是镜像的版本
- 在没有指定tag时,默认是latest,代表镜像的最新版本
2. 基础命令
Docker最常见的命令就是操作镜像、容器的命令,详见官方文档:https://docs.docker.com/
命令 | 说明 |
---|---|
docker pull | 拉取镜像(从远端镜像仓库下载到本地) |
docker push | 推送镜像到DockerRegistry |
docker images | 查看本地镜像 |
docker rmi | 删除本地镜像 |
docker run | 创建并运行容器(不能重复创建) |
docker stop | 停止指定容器 |
docker start | 启动指定容器 |
docker restart | 重新启动容器 |
docker rm | 删除指定容器 |
docker ps | 查看容器 |
docker logs | 查看容器运行日志 |
docker exec | 进入容器 |
docker save | 保存镜像到本地压缩文件 |
docker load | 加载本地压缩文件到镜像 |
docker inspect | 查看容器详细信息 |
用一副图来表示这些命令的关系:
补充:
默认情况下,每次重启虚拟机我们都需要手动启动Docker和Docker中的容器。通过命令可以实现开机自启:
# Docker开机自启
systemctl enable docker
# Docker容器开机自启
docker update --restart=always [容器名/容器id]
3. 案例 查看DockerHub,拉取Nginx镜像,创建并运行Nginx容器
-
在DockerHubhttps://hub.docker.com/中搜索Nginx镜像,查看镜像的名称
-
拉取Nginx
docker pull nginx
- 查看镜像 docker images
-
docker保存镜像到本地压缩文件,
docker save -o 文件名 镜像名:镜像版本
-
创建并运行Nginx容器
docker run -d --name nginx -p 80:80 nginx
- 查看运行中容器
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}}"
-
再次启动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
补充:
删除镜像nginx
docker rmi nginx:latest
强删除nginx
docker images
docker加载打成tar包的nginx
查看容器日志
docker logs nighx
docker logs -f nighx
持续输出日志
4. 命令别名
在vim ~/.bashrc
中
最后source ~./bash
# 修改/root/.bashrc文件
vi /root/.bashrc
内容如下:
# .bashrc
# User specific aliases and functions
alias 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
附录
1.黑马Docker笔记