docker学习笔记

dock常用命令

docker version  //显示docker的版本信息

docker info //显示docker的系统信息

docker 命令 --help //显示命令的帮助信息

docker镜像命令

docker images //查看本机所有的镜像

REPOSITORY TAG IMAGE ID CREATED SIZE

hello-world  latest    d1165f221234  5 months ago  13.3kB

#解释

REPOSITORY   镜像仓库源

TAG                    镜像标签

IMAGE ID           镜像ID

CREATED           镜像创建时间

SIZE                    镜像大小

#可选项

-a --all 显示所有

-q --quiet 只显示镜像id

docker search 搜索命令

#可选项

-f, --filter filter 根据提供的条件过滤输出

      --format string 使用 Go 模板进行漂亮打印搜索

      --limit int 最大搜索结果数(默认 25)

      --no-trunc 不截断输出

#通过收藏来过滤

--filter=STARS=3000

docker pull 镜像名[:tag] 下载镜像

-a, --all-tags 下载存储库中的所有标记图像

      --disable-content-trust 跳过图像验证(默认为 true)

      --platform string 如果服务器支持多平台,则设置平台

  -q, --quiet 抑制详细输出

#指定版本下载

docker pull mysql:5.7

docker rmi 镜像id 删除镜像

#删除多个镜像

docker rmi -f 镜像id 镜像id 镜像id 镜像id...

#删除所有镜像

docker rmi -f $(docker images -aq)

docker容器命令

#有镜像才可以创建容器

docker pull centos  下载一个centos镜像

新建容器并启动

docker run [可选参数] image 

#参数说明

--name 容器名称

-d          后台方式运行

-it          使用交互方式运行

-p          指定容器端口映射 8080:8080

              -p 主机端口:容器端口(常用)

              -p ip:主机端口:容器端口

              -p 容器端口

-P          随机指定端口

#启动并进入容器

sudo docker run -it 镜像名 /bin/bash

ubuntu@ip-172-31-7-2:~$ sudo docker run -it centos /bin/bash

#退出容器命令

exit

#列出所有运行中的容器

docker ps 

-a 列出所有运行中的容器+历史运行的容器

-n=? 显示最近创建的容器

-q 只显示容器的编号

#退出容器

exit 直接停止并退出

ctrl + p + q 容器只退出不停止

删除容器

docker rm 容器id (无法删除运行中的容器,如果要强制删除 rm -rf)

docker rm -f $(docker ps -aq) 删除所有容器

启动和停止容器

docker start 容器id    //启动

docker restart 容器id  //重启

docker stop 容器id  //停止

docker kill 容器id  //强制停止

常用其他命令

后台启动 

docker run -d 镜像id

#坑:docker如果发现没有提供服务即没有运行的程序会立即杀死容器

查看日志

docker logs 容器id

#可选项

--details 显示提供给日志的额外详细信息

  -f, --follow 跟踪日志输出

      --since string 显示自时间戳(例如 2013-01-02T13:23:37Z)或相关(例如 42m 为 42 分钟)以来的日志

  -n, --tail string 从日志末尾显示的行数(默认为“全部”)

  -t, --timestamps 显示时间戳

      --until string 在时间戳(例如 2013-01-02T13:23:37Z)或相关(例如 42m 为 42 分钟)之前显示日志

查看docker容器中进程信息

docker top 容器id

查看镜像的元数据

docker inspect 容器id

进入当前正在运行的容器

docker exec -it 容器id /bin/bash  //进入容器后开启新的终端,可以操作(常用)

docker attach 容器id  //进入正在运行的容器

从容器拷贝文件到主机上

docker cp 容器id:容器内路径  目的主机路径

小结


端口暴露的概念

commit 镜像

docker commit 提交容器成为一个新的版本

docker commit -m "提交的描述信息"  -a "作者"  目标镜像名  标记(tag)

docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1

使用数据卷

1.命令挂载

docker run -it -v 主机目录:容器目录

docker run -it -v /home/test:/home centos /bin/bash

启动后通过 docker inspect 容器id 


匿名挂载和具名挂载

匿名挂载

docker run -d -p --name nginx01 -v /etc/nginx nginx

查看所有卷(volume)的情况

docker volume ls

具名挂载

-v 卷名:容器内路径

查看卷

docker volume inspect 容器名称


拓展

-v 容器内路径 :ro 或 rw来指定容器读写权限

ro:只读 --只能从外部改变文件,容器内无法更改      

rw:读写--容器内可续可写(默认)

权限一旦设置后将无法修改

初识dockerfile

dockerfile就是构建docker镜像的文件,是一串命令脚本


这里的每个命令就是镜像的一层

dockerfile构建过程

基础知识

1.每个保留关键字(指令)都必须是大写

2.执行顺序从上到下顺序执行

3.#表示注释

4.每一个指令都会创建一个新的镜像层并提交


//创建一个自己的centos


构建镜像

docker build -t 镜像名称

发布镜像



©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容