Docker
在2017年3月1号后版本发生了变化
企业版(EE)和社区版(CE):
- 社区版分为stable和edge两种发布方式
- stable版本是季节发布方式,比如17.03,17.06,17.09…
- edge版本是月份发布方式,比如17.03,17.04…
docker 命令:
格式:
docker [option][command][arguments]
option:
- build 生成一个 Images 文件,通过Dockerfile
- commit 将现有的容器保存为一个镜像(Images)
- docker commit mybox5 hgbox88(mybox原来的镜像,后面的名字自己起)
- mybox5 现有的容器名(id)
- hgbox88 保存的镜像名字
- create 创建一个容器
- diff 检测容器系统的变更
- exec 在运行的容器中运行容器的内部命令
- export 将一个容器的文件系统输出为一个压缩包tar包
- images 列出所有的容器镜像列表
- import 从export 的 tar 包中导入一个容器
- info 显示系统信息
- inspect 返回容器的底层信息
- kill
- load 从export 的tar 包中加载容器
- logs 查看容器的日志
- network 查看容器的网络信息
- port 查看容器的暴露到前端(主机服务器)的端口
- ps 列出容器 (docker ps --help)
- pull 拉镜像,从网络中(HUB,分为公有和私有)
- push 推镜像
- rm 删除镜像命令 -f 强行删除
- stop 停止容器
- rmi 删除容器镜像
- save 保存镜像至 tar 包中
- search 从互联网中找镜像文件
- start
- tag 给镜像打标记
- top 显示容器的进程
- volume 管理容器的卷
- run 运行容器
- ctrl+p+q 退出容器(不会关闭容器
- 在容器中输入 exit 退出容器(不过会关闭容器)
- docker exec -it 容器id(容器名字) /bin/bash 进入容器
- docker attach 容器id(容器名字) 进入容器
- docker run -v 将主机中的目录挂载到容器中的目录中,如果容器要访问该目录,实质是直接访问主机的目录
- docker cp 拷贝数据到容器中
关闭容器:
- docker stop 容器id(名字)
- docker rm -f 容器id(名字)
关闭所有容器:
- docker stop $(docker ps -q)
- docker rm -f $(docker ps -aq)
对镜像的保存和对容器保存的区别:
- docker commit 保存为 image
- docker export 是对容器的操作 == commit + save 命令 保存为文件 tar 包
- docker import
对image保存为文件
- docker save
- docker load 是对镜像的操作
docker -P 34644(随便):80随机分配的端口
docker -p 80:80 指定端口
docker port 查看映射的端口信息
容器使用
一、nginx容器
1、下载docker
见docker安装配置
扫描二维码关注公众号,回复: 4015656 查看本文章
2、开启docker
systemctl start docker
3、下载 nginx 的images
docker pull nginx
4、run 起nginx镜像
docker run -d --name mynginx -p 80:80 nginx
-d 后台运行
mynginx 自己起的容器名字
-p 映射端口
nginx 启动的镜像名
5、关联容器和主机的目录
docker run --name n1 -d -p 90:80 -v /usr/docker/nginx/html:/usr/share/nginx/html nginx
-d 后台运行
n1 自己起的容器名字
-p 映射端口(将容器的80端口映射到主机的90端口上)
-v 映射目录(挂载容器目录到主机目录上)
/usr/docker/nginx/html 自己主机的目录
/usr/share/nginx/html 容器中的目录
nginx 容器名字
docker cp index.html 075c7b084583:/usr/share/nginx/html/ 将nginx中的index.html改成容器外的映射的index.html