ToThePoint--Docker

  1. 1. 安装
  2. 2. 从一个例子来演示使用
    1. 2.1. 安装CentOS
      1. 2.1.1. Option: 如果没有目标image,那么我们就先创建一个
      2. 2.1.2. 根据已有的image创建一个container并开放端口
      3. 2.1.3. 进入容器
  3. 3. 使用 commit 命令将容器再次封装保存成images
    1. 3.1. 将自己的镜像上传到hub.docker.com
    2. 3.2. 命令

备忘,高手勿喷

安装

http://www.runoob.com/docker/centos-docker-install.html

如果可以,尽量使用DokcerId登陆,而不是注册邮箱。
因为邮箱和DockerID是两个分离的东西,而使用邮箱会出现问题。

从一个例子来演示使用

eg:LAMP

安装CentOS

Option: 如果没有目标image,那么我们就先创建一个

1
2
3
4
5
# 这样安装的centos版本是的latest
docker pull centos

# 指定版本:centos 7 版本
docker pull centos:7

根据已有的image创建一个container并开放端口

1
docker run --name lamp --privileged=true -itd -p 80:80 -p 443:443 -p 3306:3306 -v D:/PhpstormProjects:/var/www/html <image id> /usr/sbin/init
参数 说明
-p 将本地端口映射到容器端口
-P 将同期内部使用的网络端口映射到我们的使用的主机上
-v 将本地的 文件夹映射到服务器Apache默认的网站目录下
-i 同步输入,允许你对容器的标准输入(STDIN)进行交互
-t 在容器内指定一个终端或者伪终端,同步输出
-d 后台运行,exit之后可以通过 attach 和 exec 再次进去容器
–privileged=true 特权模式

进入容器

1
2
docker attach -i -t <container id> /bin/bash
docker exec -i -t <container id> /bin/bash

eg:

1
docker exec -it lamp /bin/bash

使用 commit 命令将容器再次封装保存成images

1
docker commit -m "description" <container ID> new_name

再次 docker images 就会发现刚刚提交的images出现在列表里面了

将自己的镜像上传到hub.docker.com

首先到docker.com注册账号,新建一个 REPOSITORY

1
2
3
4
docker login # 登录docker
docker tag <images ID> <namespace>/<image name>:<version tag eg latest>
docker push <namsoace>/<image name> # 等待上传完了就好了
`

命令

header 1 header 2
docker images 查看已经下载的镜像
docker ps 查看在运行的容器
docker ps -a 查看全部运行的容器,包括运行中(Up)的和退出的(Exited)
docker rm 删除容器
docker rmi 删除镜像
docker create 创建一个容器但是不启动它
docker run 创建并启动一个容器
docker stop 停止容器运行,发送信号SIGTERM
docker start 启动一个停止状态的容器
docker restart 重启一个容器
docker kill 发送信号给容器,默认SIGKILL
docker attach 连接(进入)到一个正在运行的容器
docker wait 阻塞到一个容器,直到容器停止运行
docker inspect 深入容器内部获取容器所有信息
docker logs 查看容器的日志(stdout/stderr)
docker events 得到docker服务器的实时的事件
docker port 显示容器的端口映射
docker top 显示容器的进程信息
docker diff 显示容器文件系统的前后变化