docker学习笔记

 docker的一些常用命令

yum install docker  -y         安装

systemctl start docker        启动

systemctl enable docker    开机自启动

docker version    查看版本

docker search centos  搜索centos镜像

docker pull centos    获取centos镜像

docker images   查看本地镜像

docker rmi imageID 删除镜像

docker rm ID  删除容器

docker save centos > /opt/centos.tar.gz 导出镜像到本地

docker load < /opt/centos.tar.gz 导入镜像到镜像库

docker ps -a 查看容器状态

docker start 1c6c3 启动一个终止的容器

docker run -it centos /bin/bash 创建并启动容器,bash终端交互

docker exec -it 9069ff /bin/sh 进入容器命令行

docker logs 961f  获取容器输出信息

docker run -it -v /root/software/:/mnt/software/ centos /bin/bash 挂载software到容器内

docker commit 02be3 mytomcat:1.0  根据容器ID创建新的镜像

docker run -d -p 58080:8080 -v /root/webapps/:/opt/tomcat/webapps/ --name mytomcat_1 mytomcat:1.0 /root/run.sh

docker run -d -p2222:22 -p 8888:80 --restart=always myjump:1.0

 其中,相关参数包括:

• -d:表示以“守护模式”执行/root/run.sh脚本,此时 Tomcat 控制台不会出现在输出终端上。
• -p:表示宿主机与容器的端口映射,此时将容器内部的 8080 端口映射为宿主机的 58080 端口,这样就向外界暴露了 58080 端口,可通过 Docker 网桥来访问容器内部的 8080 端口了。
• -v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
• --name:表示容器名称,用一个有意义的名称命名即可
在浏览器中,输入宿主IP和端口号,即可访问 Tomcat

 

docker run -d -p 8080:8080 oupaitomcat:1.0 catalina.sh run

 使用在Docker run的时候使用--restart参数来设置。
no - container:不重启
on-failure - container:退出状态非0时重启
always:始终重启

docker run -d -p 8080:8080 --restart=on-failure oupaitomcat:1.0 catalina.sh run

docker run -d -p 8090:8080 --restart=always oupaitomcat:1.0 catalina.sh run

 

 

在启动容器时,如果不配置宿主机器与虚拟机的端口映射,外部程序是无法访问虚拟机的,因为没有端口。

docker指令:docker run -p ip:hostPort:containerPort redis

使用-p参数会分配宿主机的端口映射到虚拟机。 
IP表示主机的IP地址。 
hostPort表示宿主机的端口。 
containerPort表示虚拟机的端口。

支持的格式有三种:

ip:hostPort:containerPort:映射指定地址的指定端口到虚拟机的指定端口(不常用) 
如:127.0.0.1:3306:3306,映射本机的3306端口到虚拟机的3306端口。 
ip::containerPort:映射指定地址的任意端口到虚拟机的指定端口。(不常用) 
如:127.0.0.1::3306,映射本机的3306端口到虚拟机的3306端口。 
hostPort:containerPort:映射本机的指定端口到虚拟机的指定端口。(常用) 
如:3306:3306,映射本机的3306端口到虚拟机的3306端口。

使用docker ps命令查看


出现6379/tcp的表示宿主机并没有打开与虚拟机的端口映射。 
出现0.0.0.0:3306->3306/tcp表示宿主机的3306端口映射到了虚拟机的3306端口。

也可以使用docker port NAME查看端口映射情况。

 
表示虚拟机的3306端口映射到了主机的3306端口。 
如果没有任何回复,表示端口映射失败。

 

posted @ 2017-09-08 14:31  鸾舞春秋  阅读(236)  评论(0编辑  收藏  举报