docker技术快速实现前后端项目的集群化④linux基础防火墙命令和docker的安装部署
docker技术快速实现前后端项目的集群化④linux基础防火墙命令和docker的安装部署
防火墙开放端口
开放8080~8085端口 [root@server01 ~]# firewall-cmd --permanent --add-port=8080-8085/tcp Success # 列出端口 [root@server01 ~]# firewall-cmd --permanent --list-ports 8080-8085/tcp [root@server01 ~]# firewall-cmd --reload success [root@server01 ~]# firewall-cmd --permanent --remove-port=8080/tcp Warning: NOT_ENABLED: 8080:tcp Success # 移除端口 [root@server01 ~]# firewall-cmd --permanent --remove-port=8080-8085/tcp success [root@server01 ~]# firewall-cmd --permanent --list-ports
查看开启的服务
[root@server01 ~]# firewall-cmd --permanent --list-services
dhcpv6-client ssh
为什么要使用容器docker?
更好的隔离性,删除或者移除某些软件可能会互相影响,用docker就完全隔离
有些程序使用大量缓存,如mongo使用内存会影响其他程序,隔离起来
轻量级
Docker管理命令
Yum update -y
Yum install -y epel-release
Yum install docker-io -y
配置docker加速器
参考地址https://www.daocloud.io/mirror
[root@server01 ~]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io docker version >= 1.12 {"registry-mirrors": ["http://f1361db2.m.daocloud.io"],} Success. You need to restart docker to take effect: sudo systemctl restart docker 删除配置中的逗号 [root@server01 ~]# cat /etc/docker/daemon.json {"registry-mirrors": ["http://f1361db2.m.daocloud.io"]} 查找并安装镜像 [root@server01 ~]# docker search java [root@server01 ~]# docker pull docker.io/java
导出导入镜像
# 镜像的导出,删除和导入
[root@server01 ~]# docker save docker.io/java > /home/java.tar.gz
[root@server01 ~]# docker rmi docker.io/java
[root@server01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
[root@server01 ~]# docker load < /home/java.tar.gz
启动容器
启动容器
# 将容器的8080口映射到宿主机的9000端口,容器的8085映射到宿主机的 9001端口,宿主机的/home/project 映射到容器的/soft目录,并且赋权
改名为myjava,并且已 docker.io/java 为基础镜像
[root@server01 home]# docker run -it -p 9000:8080 -p 9001:8085 -v /home/project:/soft --privileged --name myjava docker.io/java bash
root@849096dd9555:/# javac
容器的停止和暂停
[root@server01 home]# docker start -i myjava [root@server01 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 849096dd9555 docker.io/java "bash" 4 minutes ago Up 14 seconds 0.0.0.0:9000->8080/tcp, 0.0.0.0:9001->8085/tcp myjava [root@server01 ~]# docker pause myjava myjava [root@server01 ~]# docker unpause myjava myjava [root@server01 ~]# docker stop myjava myjava [root@server01 ~]# docker rm myjava myjava [root@server01 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES