初识Docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
主要利用 linux 内核 namespace 实现沙盒隔离,用cgroup 实现资源限制
一个完整的Docker有以下几个部分组成:
dockerClient客户端
Docker Daemon守护进程
Docker Image镜像
DockerContainer容器
安装docker-ce
安装docser,开启服务
[root@foundation7 Desktop]# yum install -y
docker-engine-17.03.1.ce-1.el7.centos.x86_64.rpm
docker-engine-selinux-17.03.1.ce-1.el7.centos.noarch.rpm
[root@foundation7 Desktop]# systemctl start docker
查看版本号信息:
[root@foundation7 Desktop]# docker version
Client:
Version: 17.03.1-ce
API version: 1.27
Go version: go1.7.5
Git commit: c6d412e
Built: Fri Mar 24 00:36:45 2017
OS/Arch: linux/amd64
Server:
Version: 17.03.1-ce
API version: 1.27 (minimum version 1.12)
Go version: go1.7.5
Git commit: c6d412e
Built: Fri Mar 24 00:36:45 2017
OS/Arch: linux/amd64
Experimental: false
镜像管理
镜像用来创建容器,是容器的只读模板,默认可以从 docker hub 上下载。docker 的镜像是
增量修改,每次创建新的镜像都会在父镜像上构建一个增量的层,基于 AUFS 技术。
# docker search 查询镜像
# docker pull 拉取镜像
# docker push 推送镜像
# docker save ubuntu > ubuntu.tar 导出镜像
# docker load -i ubuntu.tar 导入镜像
# docker commit 更新镜像
# docker rmi 删除镜像
导入镜像
[root@foundation7 Desktop]# docker load -i /home/kiosk/Desktop/game2048.tar
011b303988d2: Loading layer 5.05 MB/5.05 MB
36e9226e74f8: Loading layer 51.46 MB/51.46 MB
192e9fad2abc: Loading layer 3.584 kB/3.584 kB
6d7504772167: Loading layer 4.608 kB/4.608 kB
88fca8ae768a: Loading layer 629.8 kB/629.8 kB
Loaded image: game2048:latest
查看镜像
[root@foundation7 Desktop]# docker images game2048
REPOSITORY TAG IMAGE ID CREATED SIZE
game2048 latest 19299002fdbe 20 months ago 55.5 MB
使用阿里运镜像加速器
具体步骤:1.输入:www.aliyun.com,点击注册–>注册帐号–>登陆—->管理控制台—>点击产品与服务–>容器镜像服务,点击镜像加速器查看配置文件
[root@foundation62 docker]# mkdir -p /etc/docker/
[root@foundation62 docker]# vim daemon.json
{
"registry-mirrors": ["https://umsuwu83.mirror.aliyuncs.com"]
}
[root@foundation62 docker]# systemctl daemon-reload
[root@foundation62 docker]# systemctl restart docker.service
创建成功后可以进行查找对应的镜像
[root@foundation62 docker]# docker search nginx
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 9323 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for docker c... 1386 [OK]
richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable ... 609 [OK]
jrcs/letsencrypt-nginx-proxy-companion LetsEncrypt container to use with nginx as... 396 [OK]
kong Open-source Microservice & API Management ... 216 [OK]
webdevops/php-nginx Nginx with PHP-FPM 111 [OK]
kitematic/hello-world-nginx A light-weight nginx container that demons... 108
zabbix/zabbix-web-nginx-mysql Zabbix frontend based on Nginx web-server ... 63 [OK]
bitnami/nginx Bitnami nginx Docker Image 57 [OK]
1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5 ubuntu-16-nginx-php-phpmyadmin-mysql-5 43 [OK]
linuxserver/nginx An Nginx container, brought to you by Linu... 38
tobi312/rpi-nginx NGINX on Raspberry Pi / armhf 20 [OK]
blacklabelops/nginx Dockerized Nginx Reverse Proxy Server. 12 [OK]
nginxdemos/nginx-ingress NGINX Ingress Controller for Kubernetes . ... 11
wodby/drupal-nginx Nginx for Drupal container image 10 [OK]
webdevops/nginx Nginx container 8 [OK]
nginxdemos/hello NGINX webserver that serves a simple page ... 8 [OK]
centos/nginx-18-centos7 Platform for running nginx 1.8 or building... 7
1science/nginx Nginx Docker images that include Consul Te... 4 [OK]
centos/nginx-112-centos7 Platform for running nginx 1.12 or buildin... 4
pebbletech/nginx-proxy nginx-proxy sets up a container running ng... 2 [OK]
toccoag/openshift-nginx Nginx reverse proxy for Nice running on sa...