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

原文地址:https://www.cnblogs.com/quyangyang/p/11179082.html