// 直接搜索镜像资源
docker search mysql
// 搜索过滤
docker search --filter "is-official=true" mysql // 官方发布镜像
docker pull mysql
docker images
docker rmi mysql
// 强制删除镜像
docker rmi -f mysql
docker save 镜像id > 文件名.tar
// example:
docker save 8da80fe49fcf>./mysql.tar
docker load < 文件名.tar
// example:
docker load < mysql.tar
// 加载的镜像会没有名称和TAG,需要重命名
docker tag [镜像id] [新镜像名称]:[新镜像标签]
docker create --name=mysqlContainer mysql
docker run -itd --name=mysqlContainer mysql
// 查看运行中的容器信息
docker ps
// 查看包括已停止运行的所有容器的信息
docker ps -a
docker stop mysqlContainer
docker restart mysqlContainer
docker rm mysqlContainer
docker-compose exec -it [容器的name或ID] /bin/bash
// 有时候镜像比较精简,没有bash,使用下面的命令
docker-compose exec -it [容器的name或ID] /bin/sh
// 退出容器终端界面
exit
docker commit -m "do something" mysqlContainer my_mysql
// 导出容器为镜像包
docker export mysqlContainer > mysql.tar
// 将镜像tar包导入并命名
docker import mysql.tar mysqlimage
Docker开发模式,然后把代码挂载到容器。
在开发和测试环境中,推荐使用- v 共享文件夹来存储开发人员的
程序代码,避免频繁打包操作。
// 将宿主机的33060端口与docker的3306端口进行映射
docker run -itd --name mysqlContainer -p 33060:3306 mysql
// 将宿主机下指定目录与docker容器目录进行关联,":"前是宿主机目录,后面是容器内目录
docker run -itd --name mysqlContainer -v /test_mysql:/usr/mysql_folder
// 将宿主机下的A.tar 拷贝到容器的/usr/mysql_folder/目录下
docker cp /test_mysql/A.tar mysqlContainer:/usr/mysql_folder/
Dockerfile 是一个文本文件,其中包含我们需要运行以构建 Docker 镜像的所有命令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。Docker 使用 Dockerfile 中的指令自动构建镜像。我们可以 docker build 用来创建按顺序执行多个命令行指令的自动构建。
FROM :使用 FROM 为后续的指令建立基础映像。在所有有效的 Dockerfile 中, FROM 是第一条指令。
LABEL: LABEL 指令用于组织项目映像,模块,许可等。在自动化布署方面 LABEL 也有很大用途。在 LABEL 中指定一组键值对,可用于程序化配置或布署 Docker 。
RUN: RUN 指令可在映像当前层执行任何命令并创建一个新层,用于在映像层中添加功能层,也许最来的层会依赖它。
CMD: 使用 CMD 指令为执行的容器提供默认值。在 Dockerfile 文件中,若添加多个 CMD 指令,只有最后的 CMD 指令运行。
作者:JavaPub
链接:https://www.zhihu.com/question/61349295/answer/2543817956
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
补充:
MAINTAINER CYK
COPY local_folder/ /usr/mysql_folder/
COPY local_folder/a.tar /usr/mysql_folder/
ENTRYPOINT ["nginx", "-g", "daemon off;"]
# 声明容器可以使用80和443端口
EXPOSE 80 443
docker-compose up -d --build
根据dockerfile重新下载镜像,运行容器,不使用缓存