centOS(同redhat) 安装 docker

Liunx下的安装

  1. 检查版本:uname -r
  2. 切换到管理身份: su
  3. 升级补丁: apt-get update
  4. 安装docker:
    方式一:apt-get install -y docker.io
    方式二(安装最新版): curl -s https://get.docker.com|sh
  5. 安装完成检查: docker version   
    这时候看到只有client版本
  6. docker启动 :service docker start
  7. 再次检查: docker version   
    这时候看到client和server版本

初体验

拉取镜像:docker pull [OPTIONS] name[:TAG]

查看本机镜像: docker iamges [OPTIONS] [REPOSITORY] [:TAG]

默认是从hub.docker.com仓库去拉取

第一个docker容器:

拉取格式:docker pull [OPTIONS] name[:TAG]

拉取样例:docker pull hello-world

拉取结束后检查: docker iamges 

运行格式:docker run  [OPTIONS] IMAGE [:TAG] [COMMAND][ARG...]

运行样例:docker run hello-world

第二个容器 Nginx

docker images

如果本地没有, 去官网 hub.docker.com查找

docker pull nginx 拉取下来

1. 运行

docker run -d -p 8080:80 nginx

-d 后台运行

-p 前面是主机端口 后面是映射容器内的 端口

2. 访问浏览器 localhost:8080 可以看 nginx 首页

查看容器内部结构

命令提示帮助:

docker exec --help

Options:
  -d, --detach               Detached mode: run command in the background
      --detach-keys string   Override the key sequence for detaching a container
  -e, --env list             Set environment variables
  -i, --interactive          Keep STDIN open even if not attached
      --privileged           Give extended privileges to the command
  -t, --tty                  Allocate a pseudo-TTY
  -u, --user string          Username or UID (format: [:])
  -w, --workdir string       Working directory inside the container

模拟终端登录容器:bbb 是运行容器是前几位标识 

jason@mac test % docker exec -it bbb bash
root@bbb77c374298:/# ls
bin  boot  dev	docker-entrypoint.d  docker-entrypoint.sh  etc	home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@bbb77c374298:/# 

里面就可以用 linux 命令了。例如

which nginx

退出容器终端连接:exit

 

 

 

创建自己的容器

  1. 首先查看一下现有:docker images
  2. 新建 Dockerfile: vi Dockerfile
     

Dockerfile书写标准

首先考虑自己写的这个镜像,会继承哪个现有官网镜像。 去 hub.docker.com查找

把需要继承的先拉取下来: docker pull xxxx

举个例子,我要建 Java 运行环境tomcat,部署轻量版的 java 博客页面jpress.war。 jpress 可以去官网下载 war 包

以下就是完整的 Dockfile 文件

第1行:说明继承

第 2 行:说明开发者信息, 可不写

第 3 行:复制当前路径下的 jpress.war包到容器中的指定位置。

这个指定位置怎么知道的呢? https://hub.docker.com/_/tomcat 上面有每个镜像的使用说明

CATALINA_HOME:   /usr/local/tomcat

CATALINA_HOME路径+/webapps 就是 tomcat默认网站根目录

from tomcat

MAINTAINER jason [email protected]

COPY jpress.war /usr/local/tomcat/webapps
  1. 编写 Dockerfile 已经完成, wq保存
  2. 编译: docker build -t jpress:latest .
    注意后面的点号 在当前 Dockerfile所在目录编译
    -t 指定名字,冒号后是 TAG
  3. 检查创建成功没有: docker images
  4. 运行自己建的:
     
docker run -d -it -p 8888:8080 jpress

 检查
docker ps

netstat -na|grep 8888

 

 

 

你可能感兴趣的:(100.上线运维,docker)