Docker安装快速入门
2018-01-28 10:36
501 查看
用Docker的logo简单解释就是 一艘货轮上面摆放着许多个集装箱,没用集装箱之前 形状不同 大小不同的各类货物难以摆放,现在将货物都放进集装箱里面,方便了管理与存储。
详细概念参照官网文档
https://docs.docker.com/
Docker分三个部分
镜像:一个静态的模板,无法修改 类似于镜像文件。
容器:用来存储运行镜像的实例,可以读写。
仓库:用来存储docker镜像的,分公有仓库和私有仓库。
话不多说 开始操作
这里我们我们用Centos7 默认配置的网络源安装Docker
[root@localhost yum.repos.d]# yum install docker-io -y 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.cn99.com * extras: mirrors.cn99.com * updates: mirrors.cn99.com 正在解决依赖关系 --> 正在检查事务 ---> 软件包 docker.x86_64.2.1.12.6-68.gitec8512b.el7.centos 将被 安装 --> 正在处理依赖关系 docker-common = 2:1.12.6-68.gitec8512b.el7.centos,它被软件包 2:docker-1.12.6-68.gitec8512b.el7.centos.x86_64 需要 --> 正在处理依赖关系 docker-client = 2:1.12.6-68.gitec8512b.el7.centos,它被软件包 2:docker-1.12.6-68.gitec8512b.el7.centos.x86_64 需要 ...... 已安装: docker.x86_64 2:1.12.6-68.gitec8512b.el7.centos 作为依赖被安装: audit-libs-python.x86_64 0:2.7.6-3.el7 checkpolicy.x86_64 0:2.5-4.el7 container-selinux.noarc container-storage-setup.noarch 0:0.8.0-3.git1d27ecf.el7 docker-client.x86_64 2:1.12.6-68.gitec8512b.el7.centos docker-common.x86_64 2: libcgroup.x86_64 0:0.41-13.el7 libseccomp.x86_64 0:2.3.1-3.el7 libsemanage-python.x86_ oci-register-machine.x86_64 1:0-3.13.gitcd1e331.el7 oci-systemd-hook.x86_64 1:0.1.14-1.git1ba44c6.el7 oci-umount.x86_64 2:2.3 policycoreutils-python.x86_64 0:2.5-17.1.el7 python-IPy.noarch 0:0.75-6.el7 setools-libs.x86_64 0:3 skopeo-containers.x86_64 1:0.1.26-2.dev.git2e8377a.el7.centos yajl.x86_64 0:2.0.4-4.el7 作为依赖被升级: audit.x86_64 0:2.7.6-3.el7 audit-libs.x86_64 0:2.7.6-3.el7 libsemanage.x86_64 0:2.5-8.el7 policycoreutil 完毕! [root@localhost yum.repos.d]#
重启一下Docker 查看一下运行状态 一切正常
[root@localhost yum.repos.d]# systemctl restart docker.service [root@localhost yum.repos.d]# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled) Active: active (running) since 日 2018-01-28 10:06:39 CST; 6s ago Docs: http://docs.docker.com Main PID: 12399 (dockerd-current) CGroup: /system.slice/docker.service ├─12399 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt nativ... └─12403 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --metrics... 1月 28 10:06:38 localhost.localdomain dockerd-current[12399]: time="2018-01-28T10:06:38.509321705+08:00" level=info msg="devmapper: Successfully cre...3-base" 1月 28 10:06:38 localhost.localdomain dockerd-current[12399]: time="2018-01-28T10:06:38.617007435+08:00" level=info msg="Graph migration to content-...econds" 1月 28 10:06:38 localhost.localdomain dockerd-current[12399]: time="2018-01-28T10:06:38.618435419+08:00" level=info msg="Loading containers: start." 1月 28 10:06:38 localhost.localdomain dockerd-current[12399]: time="2018-01-28T10:06:38.652764572+08:00" level=info msg="Firewalld running: true" 1月 28 10:06:38 localhost.localdomain dockerd-current[12399]: time="2018-01-28T10:06:38.880818461+08:00" level=info msg="Default bridge (docker0) is...ddress" 1月 28 10:06:39 localhost.localdomain dockerd-current[12399]: time="2018-01-28T10:06:39.074971244+08:00" level=info msg="Loading containers: done." 1月 28 10:06:39 localhost.localdomain dockerd-current[12399]: time="2018-01-28T10:06:39.075173483+08:00" level=info msg="Daemon has completed initialization" 1月 28 10:06:39 localhost.localdomain dockerd-current[12399]: time="2018-01-28T10:06:39.075193331+08:00" level=info msg="Docker daemon" commit="ec85...=1.12.6 1月 28 10:06:39 localhost.localdomain systemd[1]: Started Docker Application Container Engine. 1月 28 10:06:39 localhost.localdomain dockerd-current[12399]: time="2018-01-28T10:06:39.103609290+08:00" level=info msg="API listen on /var/run/docker.sock" Hint: Some lines were ellipsized, use -l to show in full. [root@localhost yum.repos.d]#
docker管理命令:
container 管理容器 image 管理镜像 network 管理网络 命令: attach 介入到一个正在运行的容器 build 根据 Dockerfile 构建一个镜像 commit 根据容器的更改创建一个新的镜像 cp 在本地文件系统与容器中复制 文件/文件夹 create 创建一个新容器 exec 在容器中执行一条命令 images 列出镜像 kill 杀死一个或多个正在运行的容器 logs 取得容器的日志 pause 暂停一个或多个容器的所有进程 ps 列出所有容器 pull 拉取一个镜像或仓库到 registry push 推送一个镜像或仓库到 registry rename 重命名一个容器 restart 重新启动一个或多个容器 rm 删除一个或多个容器 rmi 删除一个或多个镜像 run 在一个新的容器中执行一条命令 search 在 Docker Hub 中搜索镜像 start 启动一个或多个已经停止运行的容器 stats 显示一个容器的实时资源占用 stop 停止一个或多个正在运行的容器 tag 为镜像创建一个新的标签 top 显示一个容器内的所有进程 unpause 恢复一个或多个容器内所有被暂停的进程
在子命令中还有更多丰富的选项,可以使用
docker COMMAND --help查看。例如:
docker run --help
现在我们利用docker部署一个nginx服务器
先搜索 nginx镜像
[root@localhost yum.repos.d]# docker search nginx NAME DESCRIPTION STARS OFFICIAL AUTOMATED nginx Official build of Nginx. 6959 [OK] jwilder/nginx-proxy Automated Nginx reverse proxy for docker c... 1134 [OK] richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable ... 452 [OK]
下载nginx镜像
[root@localhost yum.repos.d]# docker pull nginx Using default tag: latest Trying to pull repository docker.io/library/nginx ... latest: Pulling from docker.io/library/nginx e7bb522d92ff: Pull complete 6edc05228666: Pull complete cd866a17e81f: Pull complete Digest: sha256:285b49d42c703fdf257d1e2422765c4ba9d3e37768d6ea83d7fe2043dad6e63d [root@localhost yum.repos.d]#
查看一下镜像仓库
[root@localhost yum.repos.d]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/nginx latest 3f8a4339aadd 4 weeks ago 108.5 MB [root@localhost yum.repos.d]#
用我们下载的nginx镜像创立一个容器,并把容器内的80端口映射到centos7的8080端口
[root@localhost yum.repos.d]# docker run --name nginx -d -p 8080:80 nginx
客户端访问一下IP加端口
一个简单的部署实例就做完了
相关文章推荐
- [置顶] docker-compose教程(安装,使用, 快速入门)
- docker-compose教程(安装,使用, 快速入门)
- Docker安装与快速入门(Mac)
- Redis快速入门:安装、配置和操作
- Eclipse 安装,调试快速入门
- MySQL快速入门01----数据库的安装、配置及启用
- Ruby快速入门(一):安装、运行、类和对象
- 【云计算】Dockerfile、镜像、容器快速入门
- MongoDB快速入门笔记(一)之windows下安装MongoDB方法
- Docker简单安装与应用入门教程
- redis入门之centos环境下快速安装
- Docker入门 - 006 Docker 多种数据库的安装
- 实战 - 快速安装 Docker
- 新手快速入门Docker最新版管理工具
- Docker入门学习(2)----Docker安装和第一个hello-world
- Docker快速入门
- .NET Framework 快速入门安装
- 【实战】Docker 入门实战一:安装Dockeer
- Powershell快速入门(一) 安装和使用
- hadoop快速入门(Ubuntu安装方法)