镜像命名规范
镜像名称一般分两部分组成:[repository]:[tag],如:mysql:8.1。
在没有指定tag时,默认是latest,代表最新版本的镜像。
Docker常用操作
在docker官网中输入你要的镜像名称:https://hub.docker.com/
docker pull nginx:拉取镜像。
docker images:查看所有镜像。
docker save -o nginx.tar nginx:latest:把nginx:latest镜像导出到nginx.tar文件。
docker rmi nginx:latest:删除本地nginx镜像的latest版本。
docker load -i nginx.tar:加载nginx.tar文件中的镜像。
容器相关命令
docker pause:让容器自己停止,相当于虚拟机的暂停。
docker unpause:让容器自己结束停止,相当于虚拟机的恢复。
docker stop 容器名称:系统关闭容器,容器这时候就自动销毁了。
docker start 容器名称:系统重新启动一个容器。
docker rm 容器名称:删除指定的容器,加上-f参数能够强制删除运行中的容器。
docker exec:进入容器执行命令。
docker Logs:查看容器运行日志。
docker ps:查看所有运行的容器及状态。
容器运行相关的操作
docker run --name mn -p 81:80 -d nginx:根据nginx镜像创建容器,默认是使用latest版本,名字为mn,-p 本地端口:要映射的容器端口,容器端口是镜像软件自带的,改不了的,-d表示后天执行。
docker exec -it mn bash:进入容器的命令行界面。
docker中是没法用vi修改文件的,只能用sed去替换。
docker logs mn:查看logs的日志。
docker logs -f mn:动态查看日志。
docker ps:查看正在运行的所有容器的运行状态,加上-a可以查看所有容器。
一般官方文档的这里会写,配置文件的地址:
操作数据卷
docker run --name mn -p 81:80 -v html:/usr/share/nginx/html -d nginx:创建容器时自动挂载卷,让html卷自动与容器内部的/usr/share/nginx/html文件夹产生映射,没有html数据卷时会自动创建。
docker volume inspect html:查看html数据卷的信息,包括所在的实际地址。
数据卷与文件映射
-v 系统文件名:容器内部文件名
-v 系统文件夹:容器内部文件夹
配置MySQL
docker run \
--name mysql \
-e MYSQL_ROOT_PASSWORD=Li123456. \ #mysql初始化密码
-p 3306:3306 \
-v /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \ #文件映射
-v /tmp/mysql/data:/var/lib/mysql \ #数据卷映射
-d mysql:latest
docker run \
--name mysql \
-e MYSQL_ROOT_PASSWORD=Li123456. \
-p 3306:3306 \
-v /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \
-v /tmp/mysql/data:/var/lib/mysql \
-d
mysql:latest