你好呀~

docker笔记

一. 安装与配置

  概念:Image-镜像;container-容器,镜像的实例化;registry-保存镜像的服务,含不同版本的标签; 默认在dockerhub上拉,配置配为阿里云的。

  win7、win8

    用 docker toolbox 来装:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/

  win10

    安装需要开启 Hyper-V,然后去官网下载安装 linux。

  mac

    直接用brew安装。

  配置

    Perferences-Docker Engine里更改镜像源为国内: json中追加:"registry-mirrors": ["http://hub-mirror.c.163.com"],终端输入docker info查看配置是否成功。

 

二. 启动

  登录docker

    id:teark;password:那个密码。

  启动指引

复制代码
git clone https://github.com/docker/getting-started.git

cd getting-started

docker build -t docker101tutorial . # 使用 Dockerfile 创建镜像

docker run -d -p 80:80 \ --name docker-tutorial docker101tutorial

# 提示登录

docker tag docker101tutorial {username}/docker101tutorial

docker push {user}/docker101tutorial

docker run -d -p 80:80 docker/getting-started
复制代码

  参数

    -t:在新容器内指定一个伪终端或终端。 -i:允许你对容器内的标准输入 (STDIN) 进行交互。

  短命令

    exit或ctrl+d:退出容器

 

三. 镜像命令

  在容器内运行一个应用程序:docker run ubuntu:15.10 /bin/echo "Hello world"

  运行交互式的容器:docker run -i -t ubuntu:15.10 /bin/bash

  创建一个以进程方式运行的容器:docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"

 

四. 仓库管理

  docker login/pull/push/search/tag [仓库名称] curl ip/路径 相当于ping一下

 

五. 数据管理

  docker run -itd --name<容器名> -v <宿主机目录/文件>:<容器目录/文件> <镜像名> <命令,可选> 目录/文件映射

  docker create -v <宿主机目录|文件>: <容器目录|文件> --name <contain_name> <image_name> <命令,可选> 创建数据卷容器

  docker run --volumes-from <数据卷容器id/name> -itd --name <容器名> <镜像名> <命令,可选> 挂在数据卷容器,注意:数据卷容器不启动。

 

六. 网络管理

  docker run -d -P [镜像名称] 随机端口映射

  docker run -d -p <宿主机ip>:<宿主机port>:<容器port> 指定端口映射

  docker run -d -p <宿主机端口1>:<容器端口1> -p<宿主机端口2>:<容器端口2> --name <容器名称> <镜像名称> 多端口映射

  docker run --network=host -itd --name<容器名称><镜像名称> 容器和宿主机共享网络

  DockerFile FROM ubuntun ?MAINTAINER 'ljx' 指定维护者信息构建时运行的命令 RUN echo hello shell模式RUN['echo', 'hello'] exec模式RUN mkdir /testWORKDIR /testRUN touch test.confENTRYPOINT /bin/bash 入口,唯一EXPOSE <port>ADD ./example.tar/ #复制,有压缩文件自动解压COPY ./example.tar/ #纯复制VOLUME ['/data'] #挂载点 对外暴露的端口号,需要启动时增加-p或-P对端口进行分配ENV NIHAO=itcastdocker build -t mysql-ubuntun:v1.0 . 构建镜像

  docker run -it mysql-ubuntun:v1.0 /bin/bash 使用新镜像创建一个容器 环境设置,可以在RUN之前使用,这样启动时这些环境变量都会被指定

 

七. 容器管理

  查看运行的容器:docker ps

  docker ps -a /container ls -a 查看

  docker <container> start/stop/kill/rm [container_id] 创建容器

  docker run <-itd> docker_image [执行命令] 运行。<-itd>打开标准输入/分配伪终端到标准输入/守护

  docker <container> rm <-f> [container_id] 删除已关闭<强删>

  docker rm -f $[container_id] 批量强删

  docker run --name[container_name] -it [docker_image] /bin/bsah 创建并进入

  docker exec -it container_id /bin/bash 手动进入

  docker commit -m '' '说明信息' -a '作者信息'[container_id] [new_image:tag] 基于容器创建镜像

  docker commit 容器名 镜像名/save -o 保存的文件名 镜像名/load -i 文件路径/备份文件 镜像制作打包解压exit/ctrl+d 退出

  docker logs [container_id] 查看日志

  docker ps 正在运行的,-a看所有的 docker log [容器名称或id] 查看日志 docker log -f[容器名称或id] 实时查看日志连接容器

  docker atttach [id] 区别:ctrl+d退出时容器直接退出了,用Ctrl+pqdocker exec -it [id] /bin/

  docker inspect [container_id] 查看详细信息

 

 

八. 镜像管理

  docker image ls/pull/rm 镜像查看拉取删除

  docker run -dit --name=ubuntu2 ubuntu 开启守护式容器

  docker container start/kill/stop/rm 容器启动杀死停止删除

  docker search [i] 镜像搜索

  docker pull [i] 获取镜像管理

  docker history 历史

  docker tag [old_image] : [old_version] [new_image] : [new_version] 重命名

  docker rmi [image_id/image_name: image_version] 删除

  docker save -o [包文件] [镜像] 导出

  docker load < [image.tar_name] 导入

  docker load -i [image.tar_name] 导入

 

九. 其他

  -i交互式运行,-t分配伪终端,-it即可,后面必须加/bin/bash

  -d后台启动,缺点:启动后没有任何操作就会退出,必须保证运行名声是可持续的。加-it也可以。

  死循环:docker run --name-test -d ubuntun sh -c "while true do echo hello world; sleep 1; done"

  top,tail是非挂起命令,docker imager ls是挂起命令,一般网上查不到 

posted @   测神  阅读(124)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示