# 创建docker hub账号 # 通过命令在本地绑定对应的Docker Hub账号 sudo docker login
# commit # 根据某个镜像创建一个容器 # 对该容器进行一些修改 # 提交该容器并生成一个新的镜像
sudo docker run -it ubuntu /bin/bash
root@b3f9427a5039:/# apt-get -yqq update root@b3f9427a5039:/# apt-get -y install apache2 root@b3f9427a5039:/# exit
sudo docker commit b3f9427a5039 ltb/apache2 sudo docker images
# -m=”message” 可以用于对提交的镜像添加一些文本描述 # –author=”person” 可以用于添加提交人信息 # 提交时,我们可以设置tag
sudo docker commit -m="install apache" --author="ltb" b3f9427a5039 ltb/apache:v1
# 查看镜像详细信息 sudo inspect ltb/apache2:v1
# 用心镜像创建容器 sudo docker run -it ltb/apache2:v1 /bin/bash
# dockerfile # 先创建一个工作目录,并在目录中创建一个dockerfile文件 mkdir workdir cd ./workdir touch dockerfile
# 编辑dockerfile文件 FROM ubuntu:14.04 MAINTAINER Wangzhe0912 "Wangzhe0912@tju.edu.cn" RUN apt-get update RUN apt-get install -y nginx RUN echo "Hi, I am your contrainer" > /usr/share/nginx/html/index.html EXPOSE 80
# 基于dockerfile构建新镜像 # 写完dockerfile文件后,可以执行docker build命令生成一个新的镜像
# 在本地当前目录下寻找dockerfile文件 docker build -t="ltb/nginx:v1"` .
# 指定git仓库寻找dockfile文件 docker build -t="wangzhe0912/nginx:v1"` git@github.com:wangzhe0912/docker_web
# dockerfile构建缓存 # 希望强制忽略缓存时,可以额外添加--no-cache参数进行设置 sudo docker build --no-cache -t="ltb/nginx:v1"
# 基于构建缓存的dockfile模板 # 添加了一行环境变量ENV FROM ubuntu:14.04 MAINTAINER Wangzhe0912 "Wangzhe0912@tju.edu.cn" ENV REFRESHED_AT 2018-01-28 RUN apt-get update ...
# 查看新镜像构建过程 docker history image_name/id
# 从新镜像启动容器 # -d表示后台程序进行运行 # -p 80表示运行时公开80端口给宿主机 docker run -d -p 80 --name ltb_nginx ltb/nginx:v1 nginx -g "daemon off;"
# 端口查询 docker port ltb_nginx 80
# 访问地址 curl localhost:32768
|