docker命令
/etc/init.d/docker start
docker version查看版本
docker images查看镜像
docker pull tomcat下载tomcat镜像
docker pull centos
cat centos.tar | docker import - centos6 #Docker导入镜像
docker export id > centos6.tar #Docker导出镜像
docker run centos:latest echo "hello world" #在docker容器中运行hello world
docker run centos:latest ip addr list 查看centos容器的ip
docker run -i -t centos /bin/bash在容器里启动一个/bin/bash shell环境,可以登录进入操作,其中-t表示打开一个终端的意思,-i表示可以交互输入
cat /etc/redhat-release
cat /etc/centos-release
docker ps -l 命令获取最后一个容器的id
docker ps -a 查看所有的容器
docker run -d -p 80:80 -p 8022:22 centos:v2 解析:-p指定容器启动后docker上运行的端口映射及容器里运行的端口,80:80,第一个80表示docker系统上的80,第二个80表示docker虚拟机里面的端口,用户默认访问本机80端口,自动映射到容器里面的80端口 -d是后台运行容器,并返回容器ID;
docker ps 显示当前允许的容器id
docker cp index.html id://usr/share/nginx/html #docker在容器内改动是暂时的
docker commit -m 'fun' id nginx-fun(容器id) #保存改动的image生成一个新的镜像
返回一个新的image字符串
docker stop id容器id #停止容器id
docker rm 删除容器id
docker rmi 删除image
docker build 创建image
制作自己的镜像
Dockerfile用来创建docker镜像
格式:
FROM alpine:latest
MAINTAINER daweiwei #维护者
CMD echo "hello Docker"
docker build -t hello_docker .
(-t:给个标签,名字叫hello_docker;'.':路径名,把路径下所有内容送给docker)
制作javaWeb镜像
vi Dockerfile
from hub.c.163.com/library/tomcat
MAINTAINER daweiwei 821@qq.com
COPY jpress.war /usr/local/tomcat/webapps
docker build -t jpress:latest . #构建镜像
docker run -d -p 8888:8080 jpress #运行
netstat -na | grep 8888 #检查端口是否在
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql

docker核心概念
镜像(集装箱),容器(运行的程序),仓库(码头)
1、docker的容器可理解为一个进程(可以将容器想象为一个虚拟机);
2、docker容器中除了Container层可写外,其他层都是只读的/3镜像的各层都是可读的,如果想对可读层进行修改操作,那么本层内容会传到可写层,然后再进行修改操作;
3、当我们的应用进行文件查找是会从最顶层可写层查找(因为可读层内容都传到可写层),如果可写层没有相应数据才会去可读层查找。

1、构建镜像的目的:是为了在其他的服务器,其他的环境运行我们的程序。(为了在其他地方运行,我们就需要将构建的镜像传递到目的地才可以,仓库可以起到传输传递作用。)
2、传输过程:先将构建的镜像传到docker仓库中,再由目的地去docker仓库将我们的镜像拉过去,这样就完成了传输过程。
3、docker仓库的提供者:中央服务器

docker 开放端口给外部网络访问
docker run -d -p 8080:80 hub.c.163.com/library/nginx
-p(小) 是开放指定的端口,与上面,开本机端口8080映射到nginx的80端口
docker run -d -P hub.c.163.com/library/nginx
-P(大) 开放所有的端口与主机建立映射
docker exec -i -t 容器的id(可以缩写)/容器名字 bash
exit;退出容器
Docker网络
docker 网络,共享网卡,端口映射,网桥

docker 开放端口给外部网络访问
docker run -d -p 8080:80 hub.c.163.com/library/nginx
-p(小) 是开放指定的端口,与上面,开本机端口8080映射到nginx的80端口
docker run -d -P hub.c.163.com/library/nginx
-P(大) 开放所有的端口与主机建立映射

