1、docker run -p 8080:80 -d daocloud.io/nginx
//p端口映射,将docker中的8080端口映射成本地的80端口,-d允许程序直接返回,相当于将当前的container作为守护进程来执行
2、docker ps //查看当前正在运行的container
docker ps -a //查看之前所有运行过的container
docker rm 【容器ID1】 【容器ID2】 .... //删除之前的-a显示的历史容器
3、docker cp index.html 【 containerID】://usr/share/nginx/html
docker commit -m '初始化页面' 【容器ID】 【操作name】 //如果不commit,关闭nginx容器在启动,之前内存操作会消失
docker images //可以查看刚才的操作
docker rmi 【容器ID】 //删除对应的image镜像
docker stop 【containerID】 //停止某个容器
4、dockerfile
FROM alpine:latest
MAINTAINER xbf //作者
CMD echo "hello docker"
5、编译 docker build -t hello_docker . //注意后面是路径,当前目录是点
6、dockerfile例子
FROM ubuntu
MAINTAINER lxj
RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list //将ubuntu镜像换成国内的
RUN apt-get update
RUN apt-get install -y nignx
COPY index.html /var/www/html
ENTRYPOINT ["/usr/sbin/nginx","-g","deaemon off;"] //之行时候,会将数组中命令用空格隔开运行
EXPOSE 80 //暴露端口
//FROM baseImage
//RUN 执行命令
//ADD 添加文件
//COPY 拷贝文件
//CMD 执行命令
//EXPOSE 暴露端口
//WORKDIR 文件路径
//MAINTAINER zuozhe
//ENV 环境变量
//ENTRYPOINT 容器入口
//USER 指定执行的用户
//VOLUME mount point
touch index.html //随便写点东西
docker build -t lxj/hello-nginx . //编译
docker run -d -p 80:80 lxj/hello-nginx //运行,-d守护
7、本地目录映射
docker run -d --name nignx -v /usr/share/nginx/html nginx //-d 守护 --name nignx 起个名字
docker inspect nginx //检查
docker run -p 80:80 -d -v $PWD/html:/usr/share/nginx/html nginx
//运行nginx容器,将容器80端口映射本地80端口,本地当前文件夹下的html目录映射到nginx容器中usr/share/nginx/html下
8、Volume挂载一个持久化数据目录
8.1 docker create -v $PWD/data:/var/mydata --name data_container ubuntu
//将当前目录下data文件夹挂载到ubunut容器中的/var/mydata文件夹下
docker run -it --volumes-from data_container ubuntu /bin/sh
//将8.1生成的data_container容器加载到当前这个容器中( --volumes-from :从其他容器加载到当前容器),
-it /bin/bash进入交互模式运行,进入交互模式后输入"mount" ,可以查看到挂载的目录/var/mydata
cd mydata && touch file.txt //然后ctrl+d退出交互模式,然后查看本地文件夹的data下也会存在file.txt
9 、registry
docker search whalesay //搜索镜像
docker pull docker/whalesay //下载镜像
docker images //查看刚才下载的镜像是否在镜像列表中
docker tag docker/whalesay lxj/whalesay //为lxj/pkgios 镜像打个新tag,在查看docker images就有 lxj/whalesay
docker push lxj/whalesay //发布共享版本,如果不指定tag就会默认用lastest版本发布
docker login //回车,输入uername、password,push之前一定要登录才可以
10、多容器工具 docker-composer (linux要单独安装,mac、windows的工具已经带了)
linux安装:
1) curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose
2) yum install docker-compose
//检查 :docker-composer --version
标签:容器,80,nginx,html,docker,lxj From: https://blog.51cto.com/u_15882671/5871555