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端口。
如果没有任何回复,表示端口映射失败。