docker 01
Docker下的防火墙管理
CentOS7默认安装了firewalld防火墙
service firewall start
service firewall stop
service firewall restart
端口管理
firewall-cmd --permanent --add-port=8080-8085/tcp
firewall-cmd --reload
firewall-cmd --permanent --remove-port=8080-8085/tcp
查看开启的端口和服务
firewall-cmd --permanent --list-ports
firewall-cmd --permanent --list-services
centos7下停止服务
systemctl stop firewalld.service && systemctl disable firewalld.service
如果你要改用iptables的话,需要安装iptables服务:
yum install iptables-services
systemctl enable iptables && systemctl enable ip6tables
systemctl start iptables && systemctl start ip6tables
Docker虚拟机架构
Docker创建的所有虚拟实例共用同一个Linux内核,对硬件占用小,属于轻量级虚拟机
容器是从镜像中创建出来的虚拟实例
容器用来运行程序,是读写层。
镜像用来安装程序,是只读层。
docker初始化
yum -y update
yum install -y docker
docker 虚拟机管理命令
镜像的安装
建议使用国内镜像仓库,如DaoCloud ,http://www.daocloud.io/
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
vim /etc/docker/daemon.json
{
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}
sudo systemctl daemon-reload
sudo systemctl restart docker
导入导出镜像
docker save java > /home/java.tar.gz 导出
docker load < /home/java.tar.gz 导入
docker images
docker rmi java
启动容器
docker run -it(启动容器之后开启交互界面) --name 容器名 镜像名 容器以何种程序运行,bash 启动这个容器运行里面什么样的程序,如bash命令行
----docker run -it --name myjava java bash
-p(映射端口) (宿主机端口)9000:8080(容器的端口)
-v(映射) (宿主机目录)/home/project:/soft(容器目录) --privileged(最高权限)
docker 暂停和停止容器
docker pause 容器名
docker unpause 容器名
docker stop 容器名
docker start -i 容器名
镜像重命名
docker tag oldname newname