1.docker安装
系统版本为almalinux9.6
首先添加一下docker的软件安装源(源选择的阿里云,只要是rhel的系统都适用,无论是rockylinux还是almalinux还是红帽企业版)
dnf config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/rhel/docker-ce.repo
添加软件源之后安装docker
dnf -y install docker-ce
ce代表的意思是社区免费版
安装之后启用docker并设置开机自启动
#启动docker
systemctl start docker
#配置docker开机自启动
systemctl enable docker
此时我们可以通过docker -v查看到docker的版本信息
2.docker的基本命令
常用的几个docker命令解释
#创建并启动一个新的容器
docker run
# 启动容器
docker start
# 停止容器
docker stop
# 重启容器
docker restart
#删除容器
docker rm
#到容器内执行命令
docker exec
#列出正在运行的容器(列出所有容器命令为docker ps -a)
docker ps
#列出本地的镜像
docker images
#拉取镜像
docker pull
#删除镜像
docker rmi
#在镜像仓库搜索镜像
docker search
#列出容器网络
docker network ls
#将镜像保存为压缩包
docker save
#将压缩包还原为镜像
docker load
docker命令大全可以在这里看
Docker 命令大全 - Docker 命令详解与使用示例 | Docker 中文文档https://dockerdocs.xuanyuan.me/reference/commands
3.修改镜像加速
修改文件/etc/docker/daemon.json(没有就新建,直接vi就行了),添加如下内容(里面已有内容可以清空),修改daemon.json中的地址就是修改docker加速器的地址;如果不设置是没办法pull镜像的。
{
"registry-mirrors": [
"https://docker.xuanyuan.me"
]
}
修改之后直接重启docker,命令为
systemctl restart docker
4.简单项目学习
在进行简单项目学习前,我们可以把安装docker服务器的selinux以及防火墙关一下,防止端口不通,命令如下
#关闭防火墙
systemctl stop firewalld
#关闭selinux
setenforce 0
联系的两个项目分别是Stirling PDF和Photopea,Stirling PDF是一个在线PDF转换工具,Photopea是一个在线PS工具,首先我们先拉取这两个项目的镜像
前面就跟大家讲过了,pull命令用于拉取docker镜像,在docker pull 后面接镜像信息即可拉取我们所需要的镜像,镜像信息一般项目官网或者网上都有提供
#拉取photopea镜像
docker pull eorendel/photopea
#拉取stirling-pdf镜像
docker pull stirlingtools/stirling-pdf
通过docker images可以看到我们下载好的镜像
我们先来创建photopea容器,前面已经说过了docker run命令用于创建并启动容器,现在解释下后面参数的意思
-d: 后台运行容器并返回容器 ID
--name: 给容器指定一个名称
-p: 端口映射,格式为 主机端口:容器端口(容器端口一般项目会告诉你或者搜到)
--restart: 容器的重启策略(如 no、on-failure、always、unless-stopped)
-e: 设置环境变量(环境变量可以去项目的容器化部署文档查看)
那么下面的的命令意思就是利用eorendel/photopea镜像在后台创建并启动一个名称为photopea的容器,把主机的8080端口映射到容器的8887端口,如果容器出错就重启。
docker run -d --name Photopea -p 8080:8887 --restart always eorendel/photopea
我们可以通过ss -tlun命令查看侦听的端口,看看是否8080端口在侦听了
通过web访问docker服务器的8080端口,看看效果(172.16.201.142是docker服务器地址)
继续创建stirling-pdf容器,下面命令的意思为:利用stirlingtools/stirling-pdf镜像在后台创建并启动一个名称为stirling-pdf的容器,把主机的9090端口映射到容器的8080端口,如果容器出错就重启,同时我指定了容器的环境变量设置语言为中文
docker run -d --name stirling-pdf --restart always -p 9090:8080 -e LANGS=zh_CN stirlingtools/stirling-pdf
来看一下端口侦听
通过web访问docker服务器的9090端口,看看效果(172.16.201.142是docker服务器地址)