如何建立并使用docker
引言
本文基本是在深入浅出Docker的基础上增加自己的理解下写出来的。
本篇主要说明如何运行一个Docker程序。
实现
安装Docker
在unbuntu/debian上面安装docker肥肠简单。。首先确保自己的linux内核是3.10以上的版本,输入命令查看内核版本
uname -a
建议切换为阿里云镜像,镜像比较广下载速度也比较快,可以参考如下博客:
Debian11镜像更新为阿里巴巴开源镜像站镜像
安装docker的命令如下:
sudo apt-get update
sudo apt-get install -y docker.io docker-compose docker-buildx
这里增加了docker-buildx
是由于后续可能用到DOCKER_BUILDKIT=1 docker build
相关功能会报错如下,建议同时安装,安装不上日常使用也不受影响。
附上一篇博主的文章,对于docker-buildx
分析的比较清楚。 Docker笔记-08 Docker BuildKit
ERROR: BuildKit is enabled but the buildx component is missing or broken.
Install the buildx component to build images with BuildKit:
https://docs.docker.com/go/buildx/
安装完成后启动docker,设置开机启动:
systemctl start docker
systemctl enable docker
查看docker是否安装成功
docker version
避免docker指令运行没有权限,可以把当前用户添加至docker用户组,如下所示:
sudo groupadd docker # 添加docker用户组
sudo gpasswd -a $USER docker # 将当前用户添加至docker用户组
newgrp docker # 更新docker用户组
下载
这里使用Nigel Poulton在github上传的例子
下载到本地,解压到~/Documents/proj/psweb-master目录下
cd ~/Documents/proj/psweb-master
构建
docker image build -t test:latest .
确认主机是否存在 test:latest镜像:
docker image ls
启动容器并测试
docker container run \
--name web1 \
--publish 8080:8080 \
test:latest
打开浏览器,在地址栏输入容器所在Docker主机的DNS名称或IP地址,在后边加上端口号8080,
127.0.0.1:8080
localhost:8080
就能看到如下所示界面:
总结
这篇文章实现了docker一个简单实际的应用,如何下载docker镜像及在镜像基础上构建自己的镜像,如何让其运行并通过web浏览器访问的流程。