docker学习入门-总结

网友投稿 269 2022-10-19

docker学习入门-总结

docker简介

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

docker安装

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

自动脚本安装

curl -fsSL | 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 查找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 等。

base docker imageFROM anibali/pytorch:1.8.1-cuda11.1-ubuntu20.04# Set up time zone.ENV TZ=UTCRUN 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 \ flask==0.12.2 \RUN python -m pip install --upgrade --no-cache-dir --ignore-installed --no-deps -i timm==0.3.2 USER rootENV 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/localtimeRUN 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-centosFROM centosMAINTAINER liENV MYPATH /usr/localWORKDIR $MYPATHRUN yum -y install vimRUN yum -y install net-toolsEXPOSE 80CMD echo $MYPATHCMD echo "------end-------"CMD /bin/bash

学习资源

参考文章:资源Docker 官方主页: 官方博客: 官方文档: Store: Cloud: Hub: 发布版本历史: 常见问题: 远端应用 API: 国内镜像阿里云的镜像器:的镜像:https://docker.mirrors.ustc.edu.cndaocloud:https://daocloud.io/mirror#accelerator-doc(注册后使用)

done

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.
下一篇:Java进程间通信之消息队列
相关文章

 发表评论

暂时没有评论,来抢沙发吧~