【Linux/Ubuntu】 部署docker时遇到的问题

一、安装docker+docker-compose

docker安装是参考下面两个链接,其中腾讯云的讲解我觉得更详细和专业一点。apt安装的包是docker-ce,表示社区版。
Docker教程
腾讯云 如何在Ubuntu上安装使用Docker

1、apt安装包时警告kernel version版本不对

─────────────────────────────────────────────── Pending kernel upgrade ├───────────────────────────────────────────────┐
│                                                                                                                        │
│ Newer kernel available                                                                                                 │
│                                                                                                                        │
│ The currently running kernel version is 5.15.0-41-generic which is not the expected kernel version 5.15.0-43-generic.  │
│                                                                                                                        │
│ Restarting the system to load the new kernel will not be handled automatically, so you should consider rebooting.      │
│                                                                                                                        │
│                                                         <Ok>

警告-1
警告-2
解决参考一
解决参考二,侧重于一中提到的needrestart包

X、docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?.

如果使用docker命令会出现这种提示,那么就是默认情况下,docker命令只能由root用户或docker组中的用户运行。要想在在运行docker命令时不输入sudo,请将用户名添加到docker组中:

sudo usermod -aG docker ${USER}

2、docker: Got permission denied while trying to connect to the Docker daemon socket at 网址: Post 网址: dial unix /var/run/docker.sock: connect: permission denie

安装完测试docker是否可以运行时,输入命令docker run --rm hello-world,跳出这个错误。在前面加上sudo可以暴力解决,估计是权限问题。
解决参考一

3、安装docker-compose时使用sudo curl提示-bash 路径 permission denied

【第二次安装直接参考官方文档敲了两行命令就好了,无任何问题,官方文档,该版本时docker compose没有短划线的(感觉有短划线的已经被淘汰了)】
用sudo还是没法暴力解决,但仍然是权限问题。使用sudo su切换到root用户,再运行有关命令即可。

4、安装完docker-compose执行命令提示/usr/local/bin/docker-compose: line 1: Not: command not found

根据docker某个教程网站使用

sudo curl -L https://download.fastgit.org/docker/compose/releases/download/2.9.0/docker-compose-`uname -s`-`uname -m` > /usr/libexec/docker/cli-plugins/docker-compose

只是修改了个版本号。经搜索发现是版本号没有加v导致的。

正确的指令应该是

sudo curl -L https://download.fastgit.org/docker/compose/releases/download/v2.9.0/docker-compose-`uname -s`-`uname -m` > /usr/libexec/docker/cli-plugins/docker-compose

5、按命令安装docker-compose后,却提示没有安装

记得使用chmod +x /usr/local/bin/docker-compose将其加权只可执行文件,不然系统就无法找到它,并且在ls模式下它是一个白色的文件,which means普通文件。加权之后会变成绿色的,也就是可执行文件。
有关compose-switch插件的使用(因为docker-compose V1使用python写的,调用语句是docker-compose,而docker-compose V2使用go写的,将它安装在docker的cli-plugins文件夹下作为插件使用,调用语句变成docker compose,算是集成在了docker内)
我搞了半天也没成功运用这个插件,就算了,但找到的好的方法还是需要贴一下。
解决参考

二、远程服务器使用

1、Screen-解决Putty链接断开程序终止问题,多窗口解决方案

Screen-解决Putty链接断开程序终止问题

三、docker部署中

1、postman访问,nginx端根本无反应

端口连接不对。

2、postman访问,nginx端输出一些乱码,返回400,postman显示报错Error: write EPROTO 196872:error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER:../../../../src/third_party/boringssl/src/ssl/tls_record.cc:242:

网址中使用了https,去掉s使用http即可

3、nginx、postman可正常显示,但nginx显示502错误,postman得到Bad Gateway

django容器中的服务没有启动好,重新走一遍就可以。

4、文件传输不上去

postman传文件,返回{ "error": "The data can't be found in database. [Errno 13] Permission denied: '/usr/local/lib/python3.8/site-packages/cms/media/software packages'", "status": 101025 }
不管是小文件还是大文件都传不上去,首先排除因为nginx配置文件大小的原因。应该是文件权限问题。
在django容器映射到服务器的media文件中,发现media文件的权限没有开到最大,chmod -R 777 media即可。
奇怪的是该语句在web容器的Dockerfile中已经写过了,但为何执行无用,还需要检查一下。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!要在Ubuntu部署Docker,您可以按照以下步骤进行操作: 1. 更新系统:首先,确保您的Ubuntu系统已经更新到最新版本。可以使用以下命令更新系统: ``` sudo apt update sudo apt upgrade ``` 2. 安装Docker依赖项:在安装Docker之前,您需要安装一些必要的软件包,以便能够使用apt通过HTTPS使用存储库: ``` sudo apt install apt-transport-https ca-certificates curl software-properties-common ``` 3. 添加Docker存储库:执行以下命令以将Docker存储库添加到系统: ``` curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` 4. 安装Docker引擎:现在,您可以使用apt安装Docker引擎: ``` sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io ``` 5. 验证安装:安装完成后,您可以运行以下命令来验证Docker是否正确安装: ``` sudo docker run hello-world ``` 6. 配置非root用户访问:默认情况下,只有root用户才能运行Docker命令。如果您想让普通用户也能访问Docker,可以将用户添加到docker用户组中: ``` sudo usermod -aG docker your_username ``` 7. 重新登录:为了使用户组更改生效,您需要注销并重新登录到系统。 现在,您已经成功在Ubuntu部署Docker。您可以使用`docker`命令来管理和运行容器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值