docker学习入门-总结
Posted 最爱大苹果
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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镜像命令:
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
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学习入门-总结的主要内容,如果未能解决你的问题,请参考以下文章