docker相关问题

ubuntu docker 安装

ubuntu 的 docker 安装主要参考的
https://www.runoob.com/docker/ubuntu-docker-install.html
安装完docker 很讨厌每次都要输入sudo 权限

修改sudo权限

  1. 将用户加入到docker用户组
sudo usermod -aG docker <user>
  1. 重启docker-daemon
sudo systemctl restart docker
  1. 给docker.sock添加权限
sudo chmod a+rw /var/run/docker.sock

然后就可以不用每次都加sudo了

更换docker 源

直接用原始的源一方面会比较慢,另一方面偶尔会报类似的错误

Error response from daemon: manifest for opensuse:latest not found

所以更换以下国内的源效果会比较好,这里以阿里源为例

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://v2ltjwbg.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker

参考:https://developer.aliyun.com/article/657151

Docker内使用Systemd

在docker的container中运行程序时(该程序在终端中需要root’权限),得到以下错误

Operation not permitted

Docker运行一个容器起来的时候,只是为你提供特定的文件系统层和进程隔离,它给你一个VM的感觉却并不是VM,所以你可能偶尔会想要像在物理机那样使用systemctl start|status|stop来管理服务进程。
所以此时你需要解决特权问题,需要启动systemd进程,在启动镜像的时候,通过加入–privileged参数。

docker run -ti --privileged ubuntu \bin\bash

Dockfile

dockefile 的简单制作可以参考
https://www.runoob.com/docker/docker-dockerfile.html

在build的过程中涉及到一些操作会要求你选择时区,当选好后,系统就卡住,不在继续往下进行了
解决参考
https://askubuntu.com/questions/909277/avoiding-user-interaction-with-tzdata-when-installing-certbot-in-a-docker-contai

Docker image 的拷贝

当我们需要把image拷贝给别人的时候可以通过下面的方式

把image变为压缩文件
docker save -o <path for generated tar file> <image name>
把压缩文件变为image
docker load -i <path to image tar file>

参考:
https://stackoverflow.com/questions/23935141/how-to-copy-docker-images-from-one-host-to-another-without-using-a-repository

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值