初次使用docker, 多有不足,这里把坑一点点的记下来linux
概念篇web
docker 是什么? 太多文字不一样,书读的少, 不懂大大道理; 在个人理解, 它就是个沙箱环境; 在linux中 ,独立进程, 有着本身的小世界docker
使用篇shell
安装docker 及运行centos
docker run -it -p 8084:8080 -v $PWD:/usr/local/tomcat/webapps --name wu_tomcat6 tomcattomcat
-it # 是-i 和 -t的简写, 表示以交互式的方式运行容器,加上-d表示后台运行,这里为了截图输出启动日志我用了-it,也能够用-d,再用"docker logs 容器名"命令输出日志 --rm #当容器被中止时自动删除容器bash
-p 8084:8080 #80是为容器中的tomcat设置的端口, 这里表示将80映射到宿主机8888端口, 若是只写-p 80 容器会随机取值32768~61000中较大的端口号来映射到80端口上服务器
-v # 将tomcat中的usr/local/tomcat/webapps目录映射到宿主机当前目录,后面更新jar包宿主机目录中便可app
tomcat # 镜像名:tag标签webapp
小小命令, 其中有太多过程;
1.宿主机: 就是主服务器, 安装docker的服务器
一般运行了一个docker容器时, 容器读取文件都是在其容器自身小世界读取的, 如何都取主机目录, 则须要映射:
-v 命令
挂载命令 : 在某个镜像下,挂载宿主当前目录为容器中的某个目录
docker run -it -v $PWD:/usr/local/tomcat/webapps 镜像名 /bin/bash
进入容器命令
docker exec -it 容器名 /bin/bash
记住, 容器若是中止了, 是进入不了容器里面的;
但好比, tomcat容器启动不了, 缘由是配置文件出错, 那如何进入修改呢;
有人就很聪明了, 将容器内文件复制到主机里, 修复配置文件后, 在覆盖容器里面的文件, 涉及命令是
docker cp wu_tomcat6:/usr/local/tomcat /usr/local/temp
如上: cp 容器名:容器文件目录 主机目录
1. 建立并运行 一个容器
docker run -it --rm centos:latest bash
run
运行容器
-it
以交互方式运行容器
--rm
退出容器后删除容器
centos:latest
基于 镜像启动容器
bash
命令 交互式shell
2. 退出容器
exit
3. 查看容器
docker ps
查看正在运行的容器
docker ps -a
查看全部容器
4.删除容器
docker rm [容器id ]
5 . 查看 镜像 容器 数据卷 占用空间
docker system df
6 . 进入 容器
docker exec -it [容器id] bash
以交互方式进去容器 (新打开一个控制台 操做)
7 。启动 中止 重启容器
dcoker start [容器id/容器名]
dcoker stop [容器id/容器名]
dcoker restart [容器id/容器名]
8. 删除容器
docker container rm
清理全部终止的容器
docker container prune