mint 安装docker-ce,docker-compose
1 设置docker安装源
20230524
https://docs.docker.com/engine/install/ubuntu/
1 remove old version
sudo apt-get remove docker docker-engine docker.io containerd runc
2 install tools
sudo apt-get update sudo apt-get install ca-certificates curl gnupg
3 add key
sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg
4 add src
echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ "$(. /etc/os-release && echo "$UBUNTU_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
5 install
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
6 test after install
sudo docker run hello-world
修改默认image存储路径,否则默认在/var/lib/docker,一般我分区 除了swap,只给整个/挂载10G, 其他都给/home。
https://forums.docker.com/t/how-do-i-change-the-docker-image-installation-directory/1169/21
创建文件:
sudo xed /etc/docker/daemon.json
添加如下内容:
{
"data-root": "/home/docker"
}
sudo chmod 777 /var/run/docker.sock
ERROR: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/info": dial unix /var/run/docker.sock: connect: permission denied
errors pretty printing info
sudo gpasswd -a $USER docker #将当前用户添加至docker用户组
newgrp docker #更新docker用户组
sudo service docker restart #重启docker服务
newgrp - docker #切换当前会话到新group或重启会话
重启:
sudo service docker restart
docker info
最后, 如果linux是在vmware里运行,为了防止虚拟机挂起再恢复后 docker容器内运行的服务 网络掉线,还需要如下修改:
https://www.cnblogs.com/xuanmanstein/p/15921427.html
1.1 FQ安装
2020.0702 更新
参考https://www.cnblogs.com/wxxf/p/12976421.html
1 允许apt以https方式安装
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common
2 添加密钥
FQ,在浏览器中下载https://download.docker.com/linux/ubuntu/gpg 是1个文本文件, 随便保存为docker_gpg
然后
sudo apt-key add ./docker_gpg
3设置安装源 mint21
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu jammy stable"
mint20
sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
4 安装
sudo apt-get update sudo apt-get -y install docker-ce docker-ce-cli containerd.io
2019.12.19更新
curl -sSL https://get.docker.com/ | sh
如果报
+ sudo -E sh -c apt-get install -y -qq --no-install-recommends docker-ce >/dev/null
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
提示 docker-ce : 依赖: libseccomp2 (>= 2.3.0) 但是 2.2.3-3ubuntu3 正要被安装
sudo aptitude install docker-ce
1.2 使用阿里云安装
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb https://mirrors.aliyun.com/docker-ce/linux/ubuntu
focalstable"
sudo apt install docker-ce
1.3 官网安装
20190904
官网 https://docs.docker.com/install/linux/docker-ce/ubuntu/
sudo add-apt-repository "deb https://download.docker.com/linux/ubuntu bionic stable"
mint要删掉 deb 后面的 [arch=amd64] 不然不会成功
2018.11.14更新
参考https://blog.csdn.net/qq_38199832/article/details/77803645
sudo curl -sSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
如果报错:
sudo xed /etc/resolv.conf
添加阿里的dns
nameserver 223.5.5.5
nameserver 223.6.6.6
就可以了
2配置docker-ce
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp - docker
看到新修改的路径,大功告成
如果之前已经有了一些image。会被清光-_-!
不用移动了 sudo mv /var/lib/docker /home/docker
#-----------------------
如果docker-info报错
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.35/info: dial unix /var/run/docker.sock: connect: permission denied
根据要建立docker用户组,http://blog.csdn.net/baidu_36342103/article/details/69357438
重新
newgrp - docker
防止 每次vmware中mint 睡眠 挂起 docker网络断网
https://www.cnblogs.com/xuanmanstein/p/15921427.html
3 安装docker-compose
docker-compose是个python写的命令行程序,可以直接pip安装,也在github上有地址https://github.com/docker/compose,可以直接clone下来python setup.py install 安装
3.1 用pip3安装
python2渐渐不支持了,所以不再用python2来安装了。
不论pip还是pip3, ubuntu都没自带需要安装
所以先安装python3-pip(这样是给ubuntu18自带的python3.6用的)
注意,这是python2.7的
sudo apt-get install -y python3-pip
sudo pip3 install setuptools
sudo pip3 install --upgrade pip
pip 前面要加sudo,否则安装在当前用户下,没法用sudo安装全局的包
最后直接pip安装
sudo pip3 install docker-compose
3.2 官方安装方式
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
今天忽然发现docker-compose这么安装,第二个包死活下载不下来,也许是因为用到了aws服务器,但是因为开某大会给封了?真是疯了。
千难万险难不倒真XX党X员(手动斜眼)。
如果pip没装。
那就先装一下
老实说,不是很理解这种预装python但是不给装pip的行为。类似地。装了python,不给装dpkg。。。
#-----------------------------------------------------
如果pip 10报错,根据这个修改:
https://stackoverflow.com/questions/28210269/importerror-cannot-import-name-main-when-running-pip-version-command-in-windo
/usr/bin/pip
from:
from pip import main
if __name__ == '__main__':
sys.exit(main())
to this:
from pip import __main__
if __name__ == '__main__':
sys.exit(__main__._main())
4 其他
安装 bridge-utils 不然没法用brctl show 查看docker网络
sudo apt install bridge-utils
安装好之后
docker run hello-world
网上很多安装的是老版的lxc-docker
这个版本http://blog.csdn.net/anliven/article/details/72888053是对的,我把步骤去掉了,只保留脚本内容
为了在vscode里不用sudo执行docker命令