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 focal stable"
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命令

posted @ 2017-08-17 20:11  永远的幻想  阅读(14887)  评论(1编辑  收藏  举报