目录

  • 一、安装docker服务(kvm01和kvm02,命令示例为看kvm02)
  • 二、下载系统镜像(Ubuntu、 centos)
  • 三、Docker基本操作


一、安装docker服务(kvm01和kvm02,命令示例为看kvm02)

1、安装环境概述
(1)依赖的基础环境
64 位CPU
Linux kernel(内核) 3.10+
Linux kernel cgroups and namespaces
(2)查询自己服务器的环境
① 使用的服务器版本
② 内核版本
③ ip地址

[root@kvm02 ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
[root@kvm02 ~]# uname -r
3.10.0-514.el7.x86_64
[root@kvm02 ~]# hostname -I

2、CentOS 7(使用 yum 进行安装docker)
(1) 安装必要的一些系统工具

[root@kvm02 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

(2) 添加软件源信息

[root@kvm02 ~]#yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

(3)更新并安装Docker-CE

[root@kvm02 ~]# yum makecache fast
[root@kvm02 ~]# yum -y install docker-ce(默认为最新版,推荐安装最新版)

docker 容器内安装vim docker安装kvm_Docker


(4)开启Docker服务

[root@kvm02 ~]# systemctl enable --now docker

docker 容器内安装vim docker安装kvm_docker_02


注意:

官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。

#vim /etc/yum.repos.d/docker-ee.repo

将[docker-ce-test]下方的enabled=0修改为enabled=1

安装指定版本的Docker-CE:

#Step 1: 查找Docker-CE的版本:

#yum list docker-ce.x86_64 --showduplicates | sort -r

#Loading mirror speeds from cached hostfile

#Loaded plugins: branch, fastestmirror, langpacks

#docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable

#docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable

#docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable

#Available Packages

#Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
#sudo yum -y install docker-ce-[VERSION]
安装报错(虚拟机中可能会遇到,如果没有报错请忽略)
Error: Package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 (docker-ce-stable)
Requires: container-selinux >= 2.9
报错原因: docker-ce-selinux 版本过低
解决办法:在https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/7/x86_64/stable/Packa
ges/网站下载对应版本的docker-ce-selinux,安装即可
再次安装docker 成功
[root@localhost ~]# yum -y install docker-ce-17.03.2.ce

3、启动docker
配置docker镜像加速(参考网址:https://developer.aliyun.com/article/606808)
当docker客户端版本不低于1.10.0时,可以通过修改守护进程daemon的配置文件/etc/docker/daemon.json默认通过此修改下载镜像:

[root@kvm02 ~]# vim /etc/docker/daemon.json

{
 "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"] 
}   --使用中科大镜像加速器,不需要注册

[root@kvm02 ~]# systemctl daemon-reload –重新加载守护进程daemon服务的配置文件
[root@kvm02 ~]# systemctl restart docker

注意:docker命令Tab无法自动补全的解决方案
(1)安装bash-completion

yum install -y bash-completion

(2)刷新文件

source /usr/share/bash-completion/completions/docker
source /usr/share/bash-completion/bash_completion

二、下载系统镜像(Ubuntu、 centos)

[root@kvm01 docker]# docker pull centos
[root@kvm01 ~]# docker pull ubuntu

docker 容器内安装vim docker安装kvm_docker 容器内安装vim_03

三、Docker基本操作

1、 基于下载的镜像创建两个容器 (容器名一个为自己名字全拼,一个为首名字字母)

[root@kvm01 docker]# docker  run --name gu1 -it ubuntu /bin/sh 
[root@kvm01 docker]# docker  run --name gqm -it ubuntu /bin/sh
root@kvm01 docker]# docker  run --name gqm -it centos /bin/sh
[root@kvm01 docker]# docker  run --name gu -it centos /bin/sh

2、容器的启动、 停止及重启操作
启动:

[root@kvm01 docker]# docker start gqm

停止(能stop绝不kill):

[root@kvm01 docker]# docker stop gqm
[root@kvm01 docker]# docker kill gqm

重启:

[root@kvm01 docker]# docker restart gqm

3、怎么查看正在运行的容器和所有容器?

[root@kvm01 docker]# docker ps
[root@kvm01 docker]# docker ps -a

4、怎么退出容器: 两种方法分别实现?
在交互模式下(-it)输入exit;(容器被停止)
在交互模式下(-it)ctrl+p,ctrl+q(容器还在运行)
5、怎么连接到运行的容器?

[root@kvm01 docker]# docker exec -it gqm /bin/sh
用attach连接,exit退出时容器会停止
[root@kvm01 docker]# docker attach gu1qm

6、查看容器或镜像的内部信息?
查看容器:

[root@kvm01 ~]# docker inspect gu

查看镜像:

[root@kvm01 ~]# docker (image) inspect centos:latest

7、如何查看所有镜像?

[root@kvm01 ~]# docker image ls

8、如何删除所有容器(包括未运行)

[root@kvm01 ~]# docker ps -aq
3cb2c1c2545f
f21968be1a1f
bc2ec7948eda
0a04fd225465
41aeb7cbdcb3
[root@kvm01 ~]# docker rm -f `docker ps -aq`
3cb2c1c2545f
f21968be1a1f
bc2ec7948eda
0a04fd225465
41aeb7cbdcb3
[root@kvm01 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@kvm01 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES