Docker学习笔记

基础操作-镜像

  1. 从仓库获取镜像
    搜索镜像:docker search image_name
    搜索结果过滤:
    是否是官方:
    docker search --filter "is-official=true" image_name
    是否是自动化构建
    docker search --filter "is-automated=true" image_name
    大于多少颗星
    docker search --filter stars=3 iamge_name
    下载镜像:docker pull image_name
  2. 本地镜像的查看:docker iamges
  3. 本地镜像的删除:docker rmi image_name

基础操作-容器

  1. 创建容器:docker run -itd --name container_name image_name
    -i表示以交互模式运行容器;
    -d表示后台运行容器,并返回容器ID;
    -t为容器指定名称;
    --name为容器指定名称
  2. 查看容器(运行中的):docker ps
  3. 查看容器(包括已停止的):docker ps -a
  4. 启动容器:docker start container_name/container_id
  5. 停止容器:docker stop container_name/container_id
  6. 重启容器:docker restart container_name/container_id
  7. 删除容器:docker rm container_name/container_id

容器的修改及保存

  1. 进入容器:docker exec -it container_name/container_id /bin/bash
  2. 退出容器:exit
  3. 提交修改:
    docker commit -a "author" -m "message" container_name/container_id new_image_name:tag_name
    参数说明
    -a:参数可选,用于指定作者,可以写你的名字
    -m:参数可选,提交信息,可以说以下你做了那些修改
    container_id:该参数为被修改的容器ID
    new_image_name:此为新镜像的名字,可自定义
    tag_name:此为新镜像的标签,可不写,不写时标签默认为lastet

容器进阶操作

  1. 端口映射
    docker run -itd -p 宿主机端口号:容器端口号
  2. 文件挂载
    docker run -itd -v 宿主机文件路径:容器文件路径
  3. 将容器的文件复制到本地
    docker cp 容器名:容器文件名 宿主机文件名
  4. 将本地的文件复制到容器
    docker cp 宿主机文件名 容器名:容器文件名
  5. 容器互联
    docker run -itd --link 被关联的容器名字:被关联容器在容器中的别名 --name container_name image_name
    修改mysql密码(MYSQL8)
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

Dockerfile

  1. 什么是Dockerfile
    Dockerfile就是名为Dockerfile的文件,文件中包含一些linux命令,Docker通过读取文件中的命令来组建镜像。
  2. Dockerfile文件结构
    Dockerfile一般分为四部分:基础镜像信息,维护者信息,镜像操作指令和容器启动时执行指令#Dockerfile中的注释。
  3. 运行Dockerfile
    docker build -t image_name:tag_name .
    也可以通-f参数来指定Dockerfile文件位置
    docker build -f /path/Dockerfile -t image_name:tag_name .

搭建PHP开发环境

  1. 下载mysqlphp:7.3-fpmnginx镜像
  2. 启动mysql容器:
    docker run -itd -v /宿主机目录/mysql:/var/lib/mysql -p 33066:3306 --name=mysql -e MYSQL_ROOT_PASSWORD=password mysql
    
  3. 启动php容器:
    docker run -itd --link mysql:mysql -v /宿主机/代码目录:/var/www/html --name=php php
    
  4. 启动nginx容器:
    docker run -itd -p 宿主机端口号:容器端口号 -v /宿主机/代码目录:/var/www/html --link php:php --name=nginx nginx
    

相关链接

原文地址:https://www.cnblogs.com/jjxhp/p/12864892.html