linux操作docker

news2025/1/12 6:49:50

docker地址

官方地址
centos7安装docker

卸载旧版本docker

sudo //在前面表示以管理员权限操作

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

安装docker

//安装所需资源包
yum install -y yum-utils

//设置docker下载地址
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
    
//安装docker 安装最新版本的 Docker Engine-Community 和 containerd
yum install docker-ce docker-ce-cli containerd.io

出现 Could not resolve host: yum.dockerproject.org; Unknown error异常,删除/etc/yum.repos.d下的有关docker文件
在这里插入图片描述

yum-config-manager --disable docker.repo //使用该命令来禁用 解决上面这个异常有待确定 如果yum-config-manager命令不存在 需要使用 yum install -y yum-utils 安装

查看安装docker可用列表

参考

yum list docker-ce --showduplicates | sort -r

可选安装

//通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
//安装最新稳定版本 由于repo中默认只开启stable仓库,故这里安装的是最新稳定版
yum install docker-ce docker-ce-cli  

启动docker

systemctl start docker //启动docker
systemctl enable docker //设置开机启动

docker命令使用

#查看docker的版本
docker -v

# 查看本地主机上已有镜像的基本信息。
docker images

配置docker阿里云镜像加速

参考

docker的常用命令

docker命令及教程

利用存在的镜像创建容器

sudo docker run --name ecms_server -p 8033:80 -itd 74d76980bf72

–name 容器名称
-p 主机端口:容器端口(项目启动 查看dockerfile文件 分为http https)
-itd 注:-i表示让容器的标准输入打开,-t表示分配一个伪终端,-d表示后台启动,
74d76980bf72:某个镜像的Id

利用docker容器启动某个镜像
sudo docker container run -it 74d76980bf72 /bin/bash

忽略docker中的某些文件避免发布的时候进行编译需要添加.dockerignore文件

项目发布到docker

参考docker

docker中workdir

参考netcore dockerfile

安装运行时环境

net7运行时环境

发布项目上传并修改原本的Dockerfile文件

由于先把项目发布上传到服务器在进行docker需要修改原始的docker文件不再需要以下内容

#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base #指定基础镜像
WORKDIR /app  #指定工作目录
EXPOSE 80 #对外暴露的端口
EXPOSE 443 

COPY . /app #拷贝(.)当前目录下的所有文件到工作目录下(/app) .表示当前目录 ..表示上级目录
ENTRYPOINT ["dotnet", "Ods.dll"] #使用dotnet命令执行 项目

在项目所在路径构建打包docker镜像

docker build -t docker_web7:1.0 . //注意这里的.不能省略 表示构建在当前目录

//查看docker镜像
docker images

运行docker镜像

docker run --name docker_web7:1.0 -d -p 8888:80 docker_web7:1.0

-d	守护进程,后台运行该容器
--name 容器名字
-p 指定端口映射,格式:主机(宿主)端口|应用对外的端口:容器端口
镜像名称 imagename  repository:tag

//检查正在运行的容器
docker ps

//查看所有容器
docker ps -a

//检查项目是否可访问 运行之后无异常则表示运行起来了
curl 主机ip:端口

docker中拉取安装Nginx反向代理实现负载均衡

在这里插入图片描述

//docker拉取ngnix
docker pull nginx

//运行nginx 以80端口运行
docker run --name=nginx -p 80:80 -itd nginx:latest

//查看正在运行的镜像
docker ps

//直接访问主机ip地址即可达到nginx页面

对docker中nginx配置处理

//容器内部修改配置文件 apt-get不行 镜像无法访问

参考
参考进入docker容器的四种方式
容器内部安装命令
docker安装nginx
删除镜像失败

配置6666端口出现ERR_UNSAFE_PORT

docker中部署的nginx只能访问一个端口的情况

docker安装nginx

//通过模糊查找命令获取nginx配置文件所在路径
find / -name 'nginx.conf'

//进入nginx内部容器内部 如果需要退出来使用exit
docker exec -it nginx /bin/bash

//修改配置  vim命令容器内部安装有点问题源不能访问配置镜像也不太行
vim /etc/nginx/nginx.conf 

宿主机 docker nginx 三层体系
那么在nginx里面配置的多个server节点 那么在启动nginx时需要-p指定多个端口映射 从宿主机映射到docker容器 以便nginx能访问 出现502Getway

//指定多个端口映射
docker run --name nginx -d -v /tmp/nginx/html:/usr/share/nginx/html -v /tmp/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -p 80:80 -p 7776:7776 nginx



//docker里面部署的nginx server节点 如果要监听转发到该容器里面部署的项目 不能使用宿主的ip 需要使用docker的ip或项目容器名【如果是使用docker部署的服务,可以使用容器名代替ip,docker网络需要是share模式】

upstream ods
        {
          server 172.17.0.1:8888;//172.17.0.1表示docker容器的ip 你也可以使用对应项目容器名称 如果使用宿主机ip会出现502异常
        }

    server
       {
          listen 7776;
          location /
                {
                  proxy_pass http://ods;
                  proxy_set_header Host $host:$server_port;
                }

        }

Dockerfile详解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1480448.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Perforce Helix Core:摄像机内视觉特效(ICVFX)行业首选的版本控制工具

在当今数字娱乐时代&#xff0c;摄像机内视觉特效&#xff08;ICVFX&#xff09;和LED墙虚拟制片方法&#xff08;有时也称为现场虚拟制片&#xff09;&#xff0c;正在被用于创造一些最前沿的媒体作品。然而&#xff0c;实现令人惊叹的虚拟画面不仅需要先进的技术&#xff0c;…

QT TCP传输文件+ui

TCPFile tcp协议传输文件 TCPFile.pro QT core gui networkclientwidget.h #include <QWidget> #include <QTcpSocket> // 通信套接字 #include <QFile>private slots:void on_pushButton_clicked();private:QTcpSocket *tcpSocket;QFile file; /…

九州金榜|导致孩子厌学因素有哪些?家庭教育中要怎样解决?

现在如今孩子出现厌学的情况越来越严重&#xff0c;这也难坏了很多家长&#xff0c;众所周知&#xff0c;当下社会竞争越来越激烈&#xff0c;孩子的压力也越来越大&#xff0c;这也是导致孩子厌学的主要因素。其实家庭因素也是引起孩子厌学情绪产生的重要原因&#xff0c;在家…

通过一篇文章让你了解数据结构和算法的重要性

通过一篇文章让你了解数据结构和算法的重要性 前言一、 什么是数据结构&#xff1f;二、什么是算法&#xff1f;三、数据结构和算法的重要性在校园招聘的笔试中&#xff1a;在校园招聘的面试中&#xff1a;在未来的工作中&#xff1a; 四、如何学好数据结构和算法4.1 死磕代码&…

pom文件写入依赖爆红

pom.xml文件中每次写入依赖后都会爆红&#xff0c;因为单纯引入依赖并没有真正下载依赖包到本地仓库 重载maven项目&#xff0c;检测到没有的依赖后会自动下载依赖包&#xff0c;这时候等待右下角的下载进度条下载完毕即可

swift 长按桌面图标弹出快捷选项

文章目录 一、3D Touch二、主屏交互1. 静态添加2. 动态添加三、监听主屏交互按钮的点击事件四、预览和跳转1. 注册3D touch2. 实现协议3. 在目标控制器复写previewActionItems4. 使用UIContextMenuConfiguration一、3D Touch 3D Touch通过屏幕下方的压力感应器来感知不同的压力…

【InternLM 实战营笔记】基于 InternLM 和 LangChain 搭建MindSpore知识库

InternLM 模型部署 准备环境 拷贝环境 /root/share/install_conda_env_internlm_base.sh InternLM激活环境 conda activate InternLM安装依赖 # 升级pip python -m pip install --upgrade pippip install modelscope1.9.5 pip install transformers4.35.2 pip install str…

PCB Layout完成后,检查注意事项

在PCB Layout完成后&#xff0c;检查注意事项主要包括以下几个方面&#xff1a; 设计规则检查&#xff08;DRC&#xff09;&#xff1a;使用PCB设计软件中的DRC工具&#xff0c;对Layout进行实时检查和发现与预定设计规范不符的设计。这包括元件间距、线宽、线距、过孔大小等是…

继电保护测试仪

武汉凯迪正大继电保护测试仪主要特点 1&#xff0e;满足现场试验要求。本仪器具有标准的四相电压&#xff0c;三相电流输出&#xff0c;既可对传统的各种继电器及保护装置进行试验&#xff0c;也可对现代各种微机保护进行各种试验&#xff0c;特别是对变压器差功保护和备自投装…

一个Web3项目的收官之作,必然是友好的用户界面(Web3项目三实战之四)

正如标题所述,一个对用户体验友好的应用,总是会赢得用户大加赞赏,这是毋庸置疑的。 甭管是web2,亦或是已悄然而至的Web3,能有一个外观优美、用户体验效果佳的的界面,那么,这个应用无疑是个成功的案例。 诚然,Web3项目虽然核心是智能合约攥写,但用户界面也是一个DApp不…

iOS-设置指定边圆角(左上、左下等)

以UILabel举例&#xff0c;效果图如下&#xff1a; 代码如下&#xff1a; //设置左上与右下圆角&#xff08;可自行编辑指定圆角位置&#xff09; UIBezierPath *maskPath [UIBezierPath bezierPathWithRoundedRect:_sleepStateLabel.bounds byRoundingCorners:UIRectCornerT…

c# 获取源码路径与当前程序所在路径

获取源码路径 private static string GetFilePath([CallerFilePath] string path null) {return path;}//当程序所在路径string str67 System.Environment.CurrentDirectory;//源码路径 var path GetFilePath();var directory Path.GetDirectoryName(path);参考

微软开源 SBOM 生成工具:sbom-tool下载及使用详解

github地址 GitHub - microsoft/sbom-tool: The SBOM tool is a highly scalable and enterprise ready tool to create SPDX 2.2 compatible SBOMs for any variety of artifacts.The SBOM tool is a highly scalable and enterprise ready tool to create SPDX 2.2 compatib…

中文分词模拟器【华为OD机试-JAVAPythonC++JS】

题目描述 给定一个连续不包含空格字符串&#xff0c;该字符串仅包含英文小写字母及英文文标点符号(逗号、分号、句号)&#xff0c;同时给定词库&#xff0c;对该字符串进行精确分词。 说明&#xff1a; 1.精确分词&#xff1a; 字符串分词后&#xff0c;不会出现重叠。即“ilov…

ywtool network命令

提示:工具下载链接在文章最后 目录 一.network功能介绍二.配置network功能2.1 network_ip配置检查 2.2 network_br配置2.2.1 配置的网桥原先不存在检查2.2.2 配置的网桥已存在-修改网桥IP检查2.2.3 配置的网桥已存在-只添加网卡到网桥里检查 2.3 network_bond配置检查 2.4 netw…

金仕达与 DolphinDB 建立深度合作,共筑 FICC 科技创新新篇章

从“关起门做交易”到“打开门做服务”&#xff0c;国内 FICC 业务正经历从自营到市场化服务的转变&#xff0c;借助数据分析、算法交易等技术的快速发展&#xff0c;交易团队能够更加主动地发现市场需求&#xff0c;为不同客群提供更好的做市业务&#xff0c;FICC 交易电子化已…

基于Python3的数据结构与算法 - 07 归并排序

一、归并 引入 假设现在的列表分两段有序&#xff0c;如何将其合并成为一个有序列表。 这种操作成为一次归并。 归并的思路 分别对两个列表进行遍历&#xff0c;比较两个列表中的最小值&#xff0c;将更小的取出来。取出后一次进行上操作&#xff0c;直到其中一个列表中的元…

web自动化笔记六:弹出框处理

1、弹出框类型&#xff1a; 1)、alert 警告框 2)、confirm 确认框 3)、prompt 提示框 2、弹出框处理方法&#xff08;方法三种弹出框操作都一样&#xff09; 1)、获取弹出框对象&#xff1a; alert driver.switch_to.ale…

笔记72:关于IMU(惯性测量单元)传感器的作用【不涉及公式推导】

一、IMU传感器是什么&#xff1a; 惯性测量单元IMU&#xff08;Inertial Measurement Unit&#xff09;是一种使用【加速度计】和【陀螺仪】来测量【物体三轴姿态角&#xff08;空间姿态&#xff09;】的装置&#xff1b;IMU在坐标系的每个坐标轴上&#xff0c;均安装有1个陀螺…

Unity(第十八部)物理力学,碰撞,触发、关节和材质

1、重力 刚体组件 英文中文描述RigidBody刚体组件physics->rigidbody &#xff0c;刚体组件使一个物体有了质量&#xff0c;重力等。&#xff0c;use gravity 勾选后&#xff0c;物体才会受到重力&#xff0c;会自动下落&#xff0c;取消勾选就不会。&#xff0c;&#xf…