docker学习入门-总结

最爱大苹果 最爱大苹果     2022-11-28     212

关键词:

docker简介


Docker作为一个软件集装箱化平台,可以让开发者构建应用程序时,将它与其依赖环境一起打包到一个容器中,然后很容易地发布和应用到任意平台中


docker学习入门-总结_docker总结


docker安装


Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月

自动脚本安装

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun



Docker 中三个核心:

1、Image(镜像)

2、Container(容器)

3、Repository(仓库)


镜像是 Docker 运行容器的前提,仓库是存放镜像的场所,可见镜像更是 Docker 的核心。


docker 架构


Docker 使用的是 C/S 结构,即客户端/服务器体系结构。


docker学习入门-总结_docker入门_02


docker常用命令


docker学习入门-总结_docker总结_03


docker镜像命令:


1、拉取镜像


docker pull image_name


2、查找镜像


docker search httpd    查找httpd的镜像


3、查看所有镜像


docker images


4、启动镜像


docker run -t -i ubuntu:14.04 /bin/bash


5、删除镜像


docker rmi hello-world


1、实际常用命令


1、容器生命周期管理

run

start/stop/restart

kill

rm

pause/unpause

create

exec


2、容器操作


ps

inspect

top

attach

events

logs

wait

export

port


3、容器rootfs命令


commit

cp

diff


4、镜像仓库


login

pull

push

search


5、本地镜像管理


images

rmi

tag

build

history

save

load

import


6、info|version


info

version



dockerfile文件


 Dockerfile 分为四个部分:

1、基础镜像(父镜像)信息指令 FROM。

2、维护者信息指令 MAINTAINER。

3、镜像操作指令 RUN 、EVN 、ADD 和 WORKDIR 等。

4、容器启动指令 CMD 、ENTRYPOINT 和 USER 等。

http://dockone.io/article/8350


docker学习入门-总结_docker入门_04



dockerfiles文件模版


1、通用模版


# base docker image
FROM anibali/pytorch:1.8.1-cuda11.1-ubuntu20.04

# Set up time zone.
ENV TZ=UTC
RUN sudo ln -snf /usr/share/zoneinfo/$TZ /etc/localtime

# Install system libraries required by OpenCV.
RUN sudo apt-get update \\
&& sudo apt-get install -y libgl1-mesa-glx libgtk2.0-0 libsm6 libxext6 \\
&& sudo rm -rf /var/lib/apt/lists/*

# 安装python程序运行程序的所有依赖
RUN python -m pip install --upgrade --no-cache-dir --ignore-installed -i https://mirrors.aliyun.com/pypi/simple \\
flask==0.12.2 \\

RUN python -m pip install --upgrade --no-cache-dir --ignore-installed --no-deps -i https://mirrors.aliyun.com/pypi/simple timm==0.3.2

USER root
ENV WORKPATH="/workspace"
ENV DEVICE="cuda:0"
ENV LC_ALL=C.UTF-8 \\
LANG=C.UTF-8

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo Asia/Shanghai > /etc/timezone

# 创建工作目录
RUN sudo mkdir -p $WORKPATH

# 将当前路径的文件复制到容器内对应的目录下
COPY ./ $WORKPATH

# 切换到工作目录
WORKDIR $WORKPATH

# 进入服务代码所在的路径
WORKDIR $WORKPATH/service
# 通过gunicorn启动服务
CMD gunicorn -c gunicorn.conf.py --log-config log.conf app:app


2、centos模版


[root@root]# cat mydockefile-centos
FROM centos
MAINTAINER li

ENV MYPATH /usr/local
WORKDIR $MYPATH

RUN yum -y install vim
RUN yum -y install net-tools

EXPOSE 80

CMD echo $MYPATH
CMD echo "------end-------"
CMD /bin/bash


学习资源


参考文章:
https://www.runoob.com/docker/docker-resources.html

Docker 资源

Docker 官方主页: https://www.docker.com
Docker 官方博客: https://blog.docker.com/
Docker 官方文档: https://docs.docker.com/
Docker Store: https://store.docker.com
Docker Cloud: https://cloud.docker.com
Docker Hub: https://hub.docker.com
Docker 发布版本历史: https://docs.docker.com/release-notes/
Docker 常见问题: https://docs.docker.com/engine/faq/
Docker 远端应用 API: https://docs.docker.com/develop/sdk/

Docker 国内镜像

阿里云的镜像器:https://help.aliyun.com/document_detail
网易镜像器:http://hub-mirror.c.163.com
官方中国镜像器:https://registry.docker-cn.com
ustc 的镜像:https://docker.mirrors.ustc.edu.cn
daocloud:https://www.daocloud.io/mirror#accelerator-doc(注册后使用)


done

docker学习总结(78)——webassembly入门简介

什么是WebAssembly? WebAssembly是一种定义二进制指令格式的开放标准,它支持从不同的源语言创建可移植的二进制可执行文件。这些二进制文件可以在各种环境中运行。它起源于Web,并得到各大主流浏览器的支持。Wasm如何在... 查看详情

docker学习总结(77)——初学者最佳docker极速入门指南(代码片段)

...,而容器化则成为中间的必要桥梁。为了更好的理解 Docker 是什么,我们先来讲个讲个故事:我需要盖一个房子,于是我搬石头、砍木头、画图纸、盖房子。一顿操作,终于把这个房子盖好了。 结果,住了一段时间,... 查看详情

docker学习总结(77)——初学者最佳docker极速入门指南(代码片段)

...,而容器化则成为中间的必要桥梁。为了更好的理解 Docker 是什么,我们先来讲个讲个故事:我需要盖一个房子,于是我搬石头、砍木头、画图纸、盖房子。一顿操作,终于把这个房子盖好了。 结果,住了一段时间,... 查看详情

docker学习总结(77)——初学者最佳docker极速入门指南(代码片段)

...,而容器化则成为中间的必要桥梁。为了更好的理解 Docker 是什么,我们先来讲个讲个故事:我需要盖一个房子,于是我搬石头、砍木头、画图纸、盖房子。一顿操作,终于把这个房子盖好了。 结果,住了一段时间,... 查看详情

docker--compose学习(代码片段)

compose学习入门介绍compose是什么?如何使用Compose?总结安装Compose步骤Compose文件具体参数配置buildimagecontainer_namevolumescommandlinksexternal_linksexposeportsrestartenvironmentpiddnsDocker-compose命令介绍以上都参考官方文档入门介绍compose是什么?Co 查看详情

docker基础入门总结(代码片段)

一、什么是Docker   官方文档描述:“Dockerisanopenplatformfordeveloping,shipping,andrunningapplications.Dockerenablesyoutoseparateyourapplicationsfromyourinfrastructuresoyoucandeliversoftwarequickly.With 查看详情

docker学习总结(78)——webassembly入门简介

什么是WebAssembly? WebAssembly是一种定义二进制指令格式的开放标准,它支持从不同的源语言创建可移植的二进制可执行文件。这些二进制文件可以在各种环境中运行。它起源于Web,并得到各大主流浏览器的支持。Wasm如何在... 查看详情

docker学习总结(68)——docker数据卷相关知识总结

前言在生产环境中使用Docker,要想实现数据的持久化(所谓Docker的数据持久化即数据不随着Container的结束而结束)或者需要在多个容器之间进行数据共享,需要将数据从宿主机挂载到容器中,这就会涉及容器的数据管理操作。Doc... 查看详情

docker入门学习

初识dockerdocker在开发和运维中的优势:1)更快速的交付和部署2)更高效的资源利用3)更轻松的迁移和扩展4)更简单的更新管理 docker与虚拟机的比较 docker的核心概念和安装docker镜像:镜像(image)是创建docker容器的基础... 查看详情

kubernetes学习总结(17)——kubernetes快速入门需要掌握的知识点总结(代码片段)

一、DockerDocker是基于操作系统的沙盒技术,使得用户更简单和完整的去打包自己的应用。docker底层是基于Linux的操作系统级别的虚拟化技术LXC实现;LXC是通过CGroup实现了虚拟化资源管理,用来保证应用资源的隔离和应... 查看详情

docker入门-学习笔记

这两天入门下Docker的容器技术,感觉挺实用的,所以记录下学习心得。Docker是什么?  要了解它是什么,第一步要做的是什么,还用问~,当然是先去官网瞧瞧啊。很明显啊,DockeristheleadingContainersAsaServiceplatform.英语不好,别... 查看详情

docker学习总结(代码片段)

Docker学习总结一、Docker简介二、Docker安装2.1安装步骤2.2卸载Docker2.3配置阿里云镜像加速三、Docker常用命令3.1帮助命令3.2镜像命令3.3容器命令3.4其他常用命令四、Dockerfile4.1DockerFile简介4.2DockerFile体系结构(保留字指令)4.3案例4.3.1Base... 查看详情

docker入门学习

1.运行第一个docker容器dockerrun-i-tubuntu/bin/bash参数说明:-i,--interactive=false,打开STDIN,用于控制台交互-t,--tty=false,分配tty设备,该可以支持终端登录,默认为false-d,--detach=false,指定容器运行于前台还是后台,默认为false首先,dock... 查看详情

docker学习总结一

什么是dockerDocker是基于go语言实现的开源容器项目,诞生于2013年初,最初发起者dotCloud公司。docker虚拟化的好处快速交付和部署更高效的资源利用更轻松的歉意和扩展更简单的更新管理docker与虚拟化docker是基于操作系统虚拟化,... 查看详情

docker学习总结(60)——docker-compose基础知识回顾总结(代码片段)

一、Docker-Compose的基本介绍Docker-Compose是Docker官方开源的项目,负责实现对Docker容器的快速编排,它是由python编写的。#说下Docker-Compose里的两个基本概念#服务(service):一个应用容器,也就是docker容器,#项目(project):由一组关联的容器组... 查看详情

docker学习总结(60)——docker-compose基础知识回顾总结(代码片段)

一、Docker-Compose的基本介绍Docker-Compose是Docker官方开源的项目,负责实现对Docker容器的快速编排,它是由python编写的。#说下Docker-Compose里的两个基本概念#服务(service):一个应用容器,也就是docker容器,#项目(project):由一组关联的容器组... 查看详情

docker学习总结(74)——dockerswarm全面总结(代码片段)

一、前言Swarm是Docker公司推出的用来管理docker集群的平台,几乎全部用GO语言来完成的开发的,代码开源在https://github.com/docker/swarm;DockerSwarm和DockerCompose一样,都是Docker官方容器编排项目,但不同的是,Dock... 查看详情

docket学习--docker入门

什么是Docker?  Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、baremetal、OpenStack集群... 查看详情