docker的安装

网址/应用查看

Ubuntu安装Docker及Docker的基本命令

安装步骤:

1.更新Ubuntu的apt源索引

$ sudo apt-get update

2.安装包允许apt通过HTTPS使用仓库

$ sudo dpkg --configure -a

$ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

3.添加Docker官方GPG key

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

4.设置Docker稳定版仓库

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

5.更新apt源索引

$ sudo apt-get update

6.安装最新版本Docker CE(社区版)

$ sudo apt-get install docker-ce

查看安装Docker的版本

$ docker --version

检查Docker CE 是否安装正确

$ sudo docker run hello-world

基本命令

# 启动docker

sudo service docker start

 

# 停止docker

sudo service docker stop

 

# 重启docker

sudo service docker restart

 

# 列出镜像

docker image ls

 

# 拉取镜像

docker image pull library/hello-world

 

# 删除镜像

docker image rm 镜像id/镜像ID

 

# 创建容器

docker run [选项参数] 镜像名 [命令]

 

# 停止一个已经在运行的容器

docker container stop 容器名或容器id

 

# 启动一个已经停止的容器

docker container start 容器名或容器id

 

# kill掉一个已经在运行的容器

docker container kill 容器名或容器id

 

# 删除容器

docker container rm 容器名或容器id

# 查看运行

docker ps 查看是否运行

 

Centos安装Docker

安装步骤

1Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker

通过 uname -r 命令查看你当前的内核版本

 $ uname -r

2、使用 root 权限登录 Centos。确保 yum 包更新到最新。

$ sudo yum update

3、卸载旧版本(如果安装过旧版本的话)

$ sudo yum remove docker  docker-common docker-selinux docker-engine

4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

5、设置yum

$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

 

或者设置阿里源

sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 

6、安装最新版本的 Docker Engine-Community containerd,或者转到下一步安装特定版本:

$ sudo yum install docker-ce docker-ce-cli containerd.io

无法安装

CentOS 8.0 安装docker 报错:Problem: package docker-ce-3:19.03.4-3.el7.x86_64 requires containerd.io >= 1.2.2-3


1、错误内容

package docker-ce-3:19.03.2-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
- cannot install the best candidate for the job
- package containerd.io-1.2.2-3.3.el7.x86_64 is excluded
- package containerd.io-1.2.2-3.el7.x86_64 is excluded
- package containerd.io-1.2.4-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.5-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.6-3.3.el7.x86_64 is excluded
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

2、分析原因

看上面的内容,说的是containerd.io >= 1.2.2-3 ,意思就是 containerd.io 的版本必须大于等于 1.2.2-3

3、解决

1、要么就降低docker 的版本

2、如果不想降低docker 版本,那么就更新 containerd.io 的版本

wget https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
 
 
 
yum install -y  containerd.io-1.2.6-3.3.el7.x86_64.rpm

然后重新安装最新版本的docker 即可成功安装

4、检查是否安装成功

docker -v

 

 

缺少docker.socket

但是新版本需要docker.socket。有两种方法可以解决该问题:

  1. 可以卸载docker,再重新安装,即可出现docker.socket
  2. 创建一个/usr/lib/systemd/system/docker.socket文件,然后systemctl daemon-reload,最后systemctl start docker.service,即可启动成功。

/usr/lib/systemd/system/docker.socket文件如下:

[Unit]

Description=Docker Socket for the API

PartOf=docker.service

 

[Socket]

ListenStream=/var/run/docker.sock

SocketMode=0660

SocketUser=root

SocketGroup=docker

 

[Install]

WantedBy=sockets.target

 

卸载docker

1.查询安装过的软件包

yum list installed | grep docker

https://img-blog.csdnimg.cn/20190628165516499.png

 

2.卸载安装的软件包

yum -y remove  docker.x86_64

 

3.删除镜像/容器等

rm -rf /var/lib/docker

 

4、卸载旧版本

较旧的 Docker 版本称为 docker docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

 

查看错误问题日志systemctl status docker.service

Job for docker.service failed because the control process exited with error code.

Redirecting to /bin/systemctl start docker.service

Job for docker.service failed because the control process exited with error code.

See "systemctl status docker.service" and "journalctl -xe" for details.

[root@iZ2ze9ejlbzh5g69ezjn4eZ ~]# sudo service docker restart

Redirecting to /bin/systemctl restart docker.service

Job for docker.service failed because the control process exited with error code.

See "systemctl status docker.service" and "journalctl -xe" for details.

[root@iZ2ze9ejlbzh5g69ezjn4eZ ~]# systemctl status docker.service

● docker.service - Docker Application Container Engine

   Loaded: loaded (/etc/systemd/system/docker.service; disabled; vendor preset: disabled)

   Active: failed (Result: exit-code) since Thu 2020-06-18 23:46:30 CST; 2min 32s ago

     Docs: https://docs.docker.com

  Process: 9866 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exit>

 Main PID: 9866 (code=exited, status=1/FAILURE)

 

Jun 18 23:46:28 iZ2ze9ejlbzh5g69ezjn4eZ systemd[1]: Failed to start Docker Application Container Engine.

Jun 18 23:46:30 iZ2ze9ejlbzh5g69ezjn4eZ systemd[1]: docker.service: Service RestartSec=2s expired, scheduli>

Jun 18 23:46:30 iZ2ze9ejlbzh5g69ezjn4eZ systemd[1]: docker.service: Scheduled restart job, restart counter >

Jun 18 23:46:30 iZ2ze9ejlbzh5g69ezjn4eZ systemd[1]: Stopped Docker Application Container Engine.

Jun 18 23:46:30 iZ2ze9ejlbzh5g69ezjn4eZ systemd[1]: docker.service: Start request repeated too quickly.

Jun 18 23:46:30 iZ2ze9ejlbzh5g69ezjn4eZ systemd[1]: docker.service: Failed with result 'exit-code'.

Jun 18 23:46:30 iZ2ze9ejlbzh5g69ezjn4eZ systemd[1]: Failed to start Docker Application Container Engine.

Jun 18 23:46:48 iZ2ze9ejlbzh5g69ezjn4eZ systemd[1]: docker.service: Start request repeated too quickly.

Jun 18 23:46:48 iZ2ze9ejlbzh5g69ezjn4eZ systemd[1]: docker.service: Failed with result 'exit-code'.

Jun 18 23:46:48 iZ2ze9ejlbzh5g69ezjn4eZ systemd[1]: Failed to start Docker Application Container Engine.

lines 1-17/17 (END)

^C

解决:

/etc/docker/daemon.json 文件中错误的配置引起的,这么配置阿里云加速

可以重启了

查看docker是否是真正的小型虚拟机

 

进入容器:

docker exec -it mysql /bin/bash

 

ls

 

whereis mysql

Ubuntu配置阿里云:

sudo systemctl daemon-reload

sudo systemctl restart docker

 

CentOS配置阿里云

{ "registry-mirrors": ["https://5vchsfan.mirror.aliyuncs.com"] }

 

sudo systemctl daemon-reload

sudo systemctl restart docker

          

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值