Как установить докер конкретную версию
Как установить конкретную версию Docker(например, 1.3.2
)?
Я не могу найти какую-либо документацию в официальных документах докера. Ссылка на эту ссылку для Ubuntu.
Следуя инструкциям, установите версию докера 1.0.1
:
$ sudo apt-get update
$ sudo apt-get install docker.io
Также, следуя инструкциям, установите последнюю версию докера 1.4.1
:
$ sudo sh -c "echo deb https://get.docker.com/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
$ sudo apt-get update
$ sudo apt-get install lxc-docker
Как я могу установить конкретную версию, как 1.3.2
?
8 ответов
Получил ответ от этого github issue comment
,
Резюме вышеупомянутого коммита:-
echo deb http://get.docker.com/ubuntu docker main > /etc/apt/sources.list.d/docker.list
apt-key adv --keyserver pgp.mit.edu --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
apt-get update
apt-get install -y lxc-docker-1.3.3
Если разрешение вопроса, то используйте sudo
как:
echo deb http://get.docker.com/ubuntu docker main | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
sudo apt-get update
sudo apt-get install -y lxc-docker-1.3.3
Бонусный совет:
Не знаете, какая версия? Затем нажмите Tab
после lxc-docker-
как:
sudo apt-get install -y lxc-docker-<Hit Tab here>
чтобы увидеть список доступных версий докера.
Мне легче проверить доступные версии с
sudo apt-cache policy docker-engine
и затем установите тот, который вы хотите:
sudo apt-get install docker-engine=1.7.1-0~trusty
Он заключается в простом следовании инструкциям из докерской документации https://docs.docker.com/engine/installation/ubuntulinux/, но при выборе конкретной версии
Как я это сделал на своем ноутбуке (кстати, https://get.docker.com/ubuntu/ больше не доступен):
$ wget -qO- https://get.docker.com/ | sh # install resources
$ apt-cache showpkg docker-engine # show version which are available
$ apt-get install docker-engine=1.8.2-0~willy # install 1.8.2 version
$ sudo apt-mark hold docker-engine # prevent upgrade on sys upgrade
$ docker version # check installed docker version
Следуйте шагу ниже, чтобы установить конкретную версию docker-ce и docker-ce-cli.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
Найдите конкретную версию docker-ec и docker-ce-cli. Ее в этом примере я ищу 19.03
apt-cache policy docker-ce | grep 19
apt-cache policy docker-ce-cli | grep 19
Из приведенной выше команды вы получите список версий докеров, скопируйте уважаемую версию.
apt-get install docker-ce=5:19.03.14~3-0~ubuntu-bionic docker-ce-cli=5:19.03.14~3-0~ubuntu-bionic
Как Docker представляет два разных варианта (CE и EE) - лучший и простой способ установки Docker в любой системе. Пожалуйста, запустите приведенную ниже команду, и вам не нужно ничего делать.
wget -qO- https://get.docker.com/ | sh
Если вы хотите установить определенную версию докера, вы можете запустить команду ниже, чтобы найти, какая версия докера присутствует.
apt-cache madison docker-ce #(for ubuntu)
yum list docker-ce.x86_64 --showduplicates | sort -r #(for centos)
затем выберите правильную версию и поместите ее в команду ниже.
wget -qO- https://get.docker.com/ | sed 's/docker-ce/docker-ce=<DOCKER_VERSION/' | sh
wget -qO- https://get.docker.com/ | sed 's/lxc-docker/lxc-docker-1.6.2/' | sh
Замените 1.6.2 версией, которую вы хотите.
Я получил версию 1.6.2 лет от источника на Ubuntu 16.04. Это может не переводиться на другие версии Docker:
git clone https://github.com/moby/moby docker
cd docker
git tag -l
- найти свой тег интереса в этом списке (например, v1.6.2)git checkout <tag name>
sudo make build
В зависимости от того, сколько лет вашей версии, вы можете увидеть некоторые ошибки на этом шаге. Если вы видите, что образцы изображений Docker не могут быть загружены, не стесняйтесь комментировать соответствующие строки в
Dockerfile
, Вы можете увидетьlvm2
ошибка, связанная с источником. Изменить несуществующую ссылку на источник, указанный здесь. В частности, в моем случае мне пришлось изменить маркуDockerfile
обратитесь кlvm2
исходный код на git atgit://sourceware.org/git/lvm2.git
,sudo make binary
Другим вариантом является замена install -y lxc-docker
в сценарии с install -y lxc-docker-<version>
,
Например, это установит докер 1.6.2
:
RUN wget -qO- https://get.docker.com/ubuntu/ | sed -r 's/^apt-get install -y lxc-docker$/apt-get install -y lxc-docker-1.6.2/g' | sh