Docker的简单介绍
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker的组成部分
1. dockerClient客户端:客户端通过命令行或者其他工具使用Docker API与Docker的守护进程通信
2. Docker Image镜像:用于创建Docker容器的模板
3. DockerContainer容器:它是独立运行的一个或者一组应用
4. Docker Host主机:一个物理或者虚拟的机器用于执行Docker守护进程和容器
5. Docker Registry仓库:Docker仓库用来保存镜像,可以理解为代码控制中的代码仓库
6. Docker Machine工具:是一个简化Docker安装的命令行工具,通过一个简单的命令行就可以在平台上安装Docker
CentOS7下的Docker安装(使用yum安装)
注意:Docker 要求 CentOS 系统的内核版本高于 3.10,首先验证一下CentOS 版本是否支持 Docker,检测命令:uname -r
1. 安装必要的工具:sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2. 添加软件源信息:sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3. 更新yum缓存:sudo yum makecache fast
4. 安装 Docker-ce:sudo yum -y install docker-ce
5. 启动 Docker 后台服务:sudo systemctl start docker
6. 测试运行hello-world
查看版本:docker version,出现下图说明就安装成功了。
下面是docker安装的具体运行过程:
[root@instance-woxsvqdp ~]# sudo yum install -y yum-utils device-mapper-persistent-data lvm2
Loaded plugins: langpacks, versionlock
Package device-mapper-persistent-data-0.7.3-3.el7.x86_64 already installed and latest version
Package 7:lvm2-2.02.177-4.el7.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package yum-utils.noarch 0:1.1.31-45.el7 will be updated
---> Package yum-utils.noarch 0:1.1.31-46.el7_5 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================================================================
Package Arch Version Repository Size
================================================================================================================================
Updating:
yum-utils noarch 1.1.31-46.el7_5 updates 120 k
Transaction Summary
================================================================================================================================
Upgrade 1 Package
Total download size: 120 k
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
yum-utils-1.1.31-46.el7_5.noarch.rpm | 120 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : yum-utils-1.1.31-46.el7_5.noarch 1/2
Cleanup : yum-utils-1.1.31-45.el7.noarch 2/2
Verifying : yum-utils-1.1.31-46.el7_5.noarch 1/2
Verifying : yum-utils-1.1.31-45.el7.noarch 2/2
Updated:
yum-utils.noarch 0:1.1.31-46.el7_5
Complete!
[root@instance-woxsvqdp ~]# sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Loaded plugins: langpacks, versionlock
adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
[root@instance-woxsvqdp ~]# sudo yum makecache fast
Loaded plugins: langpacks, versionlock
baidu-bcm | 2.5 kB 00:00:00
base | 3.6 kB 00:00:00
docker-ce-stable | 2.9 kB 00:00:00
epel | 3.2 kB 00:00:00
extras | 3.4 kB 00:00:00
mysql-connectors-community | 2.5 kB 00:00:00
mysql-tools-community | 2.5 kB 00:00:00
mysql57-community | 2.5 kB 00:00:00
updates | 3.4 kB 00:00:00
docker-ce-stable/x86_64/primary_db | 15 kB 00:00:00
Metadata Cache Created
[root@instance-woxsvqdp ~]# sudo yum -y install docker-ce
Loaded plugins: langpacks, versionlock
Resolving Dependencies
--> Running transaction check
---> Package docker-ce.x86_64 0:18.06.1.ce-3.el7 will be installed
--> Processing Dependency: container-selinux >= 2.9 for package: docker-ce-18.06.1.ce-3.el7.x86_64
--> Processing Dependency: libltdl.so.7()(64bit) for package: docker-ce-18.06.1.ce-3.el7.x86_64
--> Running transaction check
---> Package container-selinux.noarch 2:2.68-1.el7 will be installed
---> Package libtool-ltdl.x86_64 0:2.4.2-22.el7_3 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================================================================
Package Arch Version Repository Size
================================================================================================================================
Installing:
docker-ce x86_64 18.06.1.ce-3.el7 docker-ce-stable 41 M
Installing for dependencies:
container-selinux noarch 2:2.68-1.el7 extras 36 k
libtool-ltdl x86_64 2.4.2-22.el7_3 base 49 k
Transaction Summary
================================================================================================================================
Install 1 Package (+2 Dependent packages)
Total download size: 41 M
Installed size: 168 M
Downloading packages:
(1/3): container-selinux-2.68-1.el7.noarch.rpm | 36 kB 00:00:00
(2/3): libtool-ltdl-2.4.2-22.el7_3.x86_64.rpm | 49 kB 00:00:00
warning: /var/cache/yum/x86_64/7/docker-ce-stable/packages/docker-ce-18.06.1.ce-3.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
Public key for docker-ce-18.06.1.ce-3.el7.x86_64.rpm is not installed
(3/3): docker-ce-18.06.1.ce-3.el7.x86_64.rpm | 41 MB 00:00:05
--------------------------------------------------------------------------------------------------------------------------------
Total 7.5 MB/s | 41 MB 00:00:05
Retrieving key from https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
Importing GPG key 0x621E9F35:
Userid : "Docker Release (CE rpm) <docker@docker.com>"
Fingerprint: 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35
From : https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : 2:container-selinux-2.68-1.el7.noarch 1/3
setsebool: SELinux is disabled.
Installing : libtool-ltdl-2.4.2-22.el7_3.x86_64 2/3
Installing : docker-ce-18.06.1.ce-3.el7.x86_64 3/3
Verifying : docker-ce-18.06.1.ce-3.el7.x86_64 1/3
Verifying : libtool-ltdl-2.4.2-22.el7_3.x86_64 2/3
Verifying : 2:container-selinux-2.68-1.el7.noarch 3/3
Installed:
docker-ce.x86_64 0:18.06.1.ce-3.el7
Dependency Installed:
container-selinux.noarch 2:2.68-1.el7 libtool-ltdl.x86_64 0:2.4.2-22.el7_3
Complete!
[root@instance-woxsvqdp ~]#
docker相关命令
查看docker镜像:docker images
查看所有的容器:docker ps -a
查看运行中的容器:docker ps
删除镜像:docker rmi 镜像id
删除容器:docker rm 容器id
查看容器信息:docker inspect 容器id
查看指定容器的IP:docker inspect mysql | grep IP
使用命令查看镜像的ip地址:docker inspect 66650c3bafd9 |grep -i add