docker学习笔记

个人空间 个人空间     2022-10-05     627

关键词:

Docker 学习笔记

Docker 能处理的事情包括:

  • 隔离应用依赖
  • 创建应用镜像并进行复制
  • 创建容易分发的即启即用的应用
  • 允许实例简单、快速的扩展
  • 测试应用并随后销毁它们

Docker 背后的想法是创建软件程序可移植的轻量容器,让其可以在任何安装了 Docker 的机器上运行,而不用关心底层操作系统。

Docker 两个最重要的概念,镜像和容器。

  • 镜像
    Docker 的镜像类似虚拟机的快照,但更轻量。创建 Docker 的镜像有几种方式,多数是在一个现有镜像基础上创建新镜像。从头创建一个镜像,可以考虑在一个镜像的基础上创建它的子镜像。有两种方式这样做,一是在一个文件中指定一个基础镜像及需要完成的修改,另一种是通过运行一个镜像,对其进行修改并提交。
  • 容器
    容器与虚拟机一样,是隔离的,它们拥有一个唯一的 ID 和唯一的供人阅读的名字。容器对外公开服务是必要的,因此 Docker 允许公开容器的特定端口。与虚拟机相比,容器有一个很大的差异,它们被设计用来运行单进程,无法很好地模拟一个完整的环境。
  • 数据卷
    数据卷让你可以不受容器生命周期影响进行数据持久化。它们表现为容器内的空间,但实际保存在容器之外,从而允许你在不影响数据的情况下销毁、重建、修改、丢弃容器。Docker 允许你定义应用部分和数据部分,并提供工具让你可以将它们分开。卷是针对容器的,你可以使用同一个镜像创建多个容器并定义不同的卷。卷保存在运行 Docker 的宿主文件系统上。
  • 链接
    容器启动时,会被分配一个随机的私有IP,其容器可以使用这个IP地址与其进行通讯。要开启容器间通讯,Docker允许在创建一个新容器时引用其它现存容器。在刚创建的容器里,被引用的容器将获得一个别名。我们就说,这两个容器链接在了一起。

命令

# 从公共 registry 下载一个镜像
docker pull ubuntu:latest
# 列出镜像
docker images
# 新列出镜像命令
docker image ls
# 从镜像上创建一个容器
# --rm: 告诉 Docker 一旦运行的进程退出就删除容器,这在运行测试时非常有用,可免除杂乱
# -ti: 告诉 Docker 分配一个伪终端并进入交互模式,不要在生产容器中打开这个标志
# ubuntu 指定镜像
# /bin/bash 要运行的命令
# 运行 run 命令时,可指定链接、卷、端口、窗口名称,如果没有提供,Docker 会分配一个默认名称
docker run --rm -ti ubuntu /bin/bash
# 在后台运行一个容器
# 输出分配的 ID
docker run -d ubuntu ping 8.8.8.8
docker ps
# 进入正在运行的容器的交互界面
docker exec -ti 容器名称 /bin/bash
# 测试 docker 安装情况
docker version
docker ps
docker run hello-world
# create image
docker build -t name .
# create and start nginx container
# -p map machine's port 4000 to container's port 80
# access the service through port 4000
docker run -d -p 4000:80 --name webserver nginx
# run docker
docker run -p 4000:80 name
docker run -d -p 4000:80 name
# stop container
docker stop name
docker container stop <hash>
# force shutdown
docker container kill <hash>
# start nginx container
docker start webserver
# list all running containers
docker ps
docker container ls
# list all containers including stopped
docker ps -a
docker container ls -a
# stop and remove running container
docker rm -f webserver
# remove container
docker container rm <hash>
# remove all containers
docker container rm $(docker container ls -a -q)
# remove an image
docker rmi imageId/imageName
docker image rm imageId
#remove all images
docker image rm $(docker image ls -a -q)

镜像仓库相关

docker login
# tag image for upload to registry
docker tag <image> username/repository:tag
# upload
docker push username/repository:tag
# run image from a registry
docker run username/repository:tag

Dockfile

Dockerfile will define what goes on in the environment inside your container. Access to resources like networking interfaces and disk drives is virtualized inside this environment, which is isolated from the rest of your system, so you have to map ports to the outside world, and be specific about what files you want to “copy in” to that environment. However, after doing that, you can expect that the build of your app defined in this Dockerfile will behave exactly the same wherever it runs.

Dockerfile 就是一个镜像的配置文件

# Use an official Python runtime as a parent image
FROM python:2.7-slim

# Set the working directory to /app
WORKDIR /app

# Copy the current directory contents into the container at /app
ADD . /app

# Install any needed packages specified in requirements.txt
RUN pip install --trusted-host pypi.python.org -r requirements.txt

# Make port 80 available to the world outside this container
EXPOSE 80

# Define environment variable
ENV NAME World

# Run app.py when the container launches
CMD ["python", "app.py"]

如果服务器前面有代理,可能会阻塞网络连接,使用 ENV 指定代理。

# Set proxy server, replace host:port with values for your servers
ENV http_proxy host:port
ENV https_proxy host:port

docker~学习笔记索引

使用docker也有段时间了,写了不少文章与总结,下面把它整理个目录出来,方便大家去学习与检索!docker~学习笔记索引docker~linux下的部署和基本命令(2017-04-0722:47)docker~docker-machine的介绍(2017-04-1212:02)docker~使用阿里加速器安c... 查看详情

docker学习笔记

Docker学习笔记什么是Docker? docker是一个容器 跨平台windowsmaclinuxDocker思想 集装箱环境稳定 1.运输方式 标准化 2.存储方式 3.API接口 隔离 lxc轻量级软件隔机制Docker解决了多端运行都没问题 不同环境配置放到集装箱-》鲸鱼-》超... 查看详情

docker学习笔记

一、Docker简介Docker两个主要部件:Docker:开源的容器虚拟化平台DockerHub:用于分享、管理Docker容器的DockerSaaS平台– DockerHubDocker使用客户端-服务器(C/S)架构模式。Docker客户端会与Docker守护进程进行通信。Docker守护进程会处理... 查看详情

docker学习笔记

Docker学习笔记Docker能处理的事情包括:隔离应用依赖创建应用镜像并进行复制创建容易分发的即启即用的应用允许实例简单、快速的扩展测试应用并随后销毁它们Docker背后的想法是创建软件程序可移植的轻量容器,让其可以在任... 查看详情

docker学习笔记

 Docker命令:dockerrunhello-world:用于验证docker是否能够运用了。docker--version:查看版本。限制docker的选项:http://blog.csdn.net/candcplusplus/article/details/53728507dockerrun-m,--memory:dockerrun--memory-swap:dockerrun- 查看详情

docker学习笔记

win10机器: docker下载:https://www.docker.com/products/docker#/windowswin10之外的win机器: docker下载: https://www.docker.com/products/docker-toolbox  boot2docker.iso下载地址:https://pan.baidu.com/s/1qY 查看详情

docker学习笔记

一、Docker简介Docker两个主要部件:Docker:开源的容器虚拟化平台DockerHub:用于分享、管理Docker容器的DockerSaaS平台--DockerHubDocker使用客户端-服务器(C/S)架构模式。Docker客户端会与Docker守护进程进行通信。Docker守护进程会处理复杂繁重... 查看详情

docker学习笔记docker仓库数据卷数据卷容器,网络基础实操。高级网络配置学习

Docker学习笔记【4】高级网络配置实操,实战案例实验===========================================================================Docker学习笔记【2】Docker仓库实操,创建私有仓库,实操数据卷、数据卷容器,记录开始========================================... 查看详情

docker学习笔记docker相关概念,基本操作

计划:Docker学习笔记【2】Docker基础操作实操记录,Docker仓库、数据卷,网络基础学习---40注:所有操作在root下执行--1--概念:1、Docker镜像:镜像就是一个只读的模板,用于创建docker容器。Docker提供了简单的机制创建或者更新现... 查看详情

docker学习笔记

docker CE 和 EE:CE社区版,EE企业版dockerEE强化了安全,安全,安全  集成了DockerDataCenter用于容器管理,使其更加便利  查看详情

docker学习笔记1--安装和配置

技术资料docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔记:http://www.open-open.com/lib/view/open1423703640748.html 深入浅出docker:http://www.infoq 查看详情

docker学习笔记6

VIIIdocker​目录​​​虚拟化:41​​​​​dockerobjects:43​​​​​dockerimages:46​​​​​dockerregistry:48​​​docker:​介绍;​镜像管理;​容器管理;​网络访问;​数据管理;​镜像构建;​私有仓库;​核心技术;​... 查看详情

docker学习笔记什么是docker

Docker学习笔记(一)什么是Docker Docker:容器技术是虚拟化技术的一种,是操作系统的虚拟化。 传统硬件虚拟化:虚拟硬件,事先分配资源,在虚拟的硬件上安装操作系统,虚拟机启动起来以后资源就会被完全占用。操作... 查看详情

docker学习笔记

基本概念    Docker:开源的容器虚拟化平台,虚拟机能做的Docker都能做,而且速度更快。    Docker的核心思想有三点:集装箱,将一个个程序(应用)看作集装箱,在网络间进行搬运,Docker中的集装箱也就是镜像标准化... 查看详情

docker学习笔记--docker常用命令

原文地址:http://blog.csdn.net/we_shell/article/details/383681371.查看docker信息(version、info)[plain] viewplaincopy  # 查看docker版本  $docker version    #&nb 查看详情

docker学习笔记

  1.查询dockers某个容器的ip地址。[[email protected]~]#dockerinspect--format=‘{{.NetworkSettings.IPAddress}}‘3ea2b8c52e72172.17.0.7    查询容器mac地址[[email protected]~]#dockerinspect--f 查看详情

docker学习记录笔记

Docker一些简单的命令列表dockerbuild-tfriendlyhello.#Createimageusingthisdirectory‘sDockerfiledockerrun-p4000:80friendlyhello#Run"friendlyname"mappingport4000to80dockerrun-d-p4000:80friendlyhello#Samething,buti 查看详情

docker学习笔记docker仓库

访问仓库,仓库是集中从存放镜像的地方。类似Maven。DockerHub  目前由Docker官方维护的一个公共仓库,其中包括15000的镜像。  注册  在 https://hub.docker.com免费注册一个Docker账号。  登录  通过dockerlogin命令交互式... 查看详情