我是靠谱客的博主 爱撒娇抽屉,最近开发中收集的这篇文章主要介绍常用docker命令---初级1、安装2、常用命令3、centos防火墙4、主要软件安装5、idea集成docker,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
文章目录
- 1、安装
- 2、常用命令
- docker images
- docker pull+镜像名
- docker rmi+镜像id
- docker run +参数+镜像名
- docker rm +容器id/容器名
- docker ps -a
- docker start+容器id/容器名
- docker stop+容器id/容器名
- docker restart +容器id/容器名
- docker kill +容器id/容器名
- $(docker ps -a -q)
- docker exec -it +容器ID/容器名 bash
- exit
- Ctrl + P + Q
- docker cp +容器ID/容器名:容器内路径 目的地主机路径
- docker logs --tail 10 +容器ID/容器名
- (数据卷)docker run -v 主机路径:容器内路径
- 3、centos防火墙
- 常用
- 4、主要软件安装
- tomcat
- Nginx
- mysql
- redis
- 5、idea集成docker
1、安装
官方教程:Install Docker Engine on CentOS | Docker Documentation
# 卸载旧的版本
sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
# 安装基本的安装包
sudo yum install -y yum-utils
#配置yum # 阿里云镜像
sudo yum-config-manager
--add-repo
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更像软件包索引
yum makecache fast
#安装docker
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 代表启动成功
systemctl start docker
# 查看docker版本
docker version
#运行hello
docker run hello-world
#配置阿里加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://fxo76wtu.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
#卸载Docker
# 卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
# 删除资源
rm -rf /var/lib/docker # docker 的默认工作路径
2、常用命令
docker images
查看所有本地主机上的镜像
docker pull+镜像名
下拉镜像,例如:
docker pull tomcat #下载tomcat
docker pull tomcat:9 #指定版本
docker rmi+镜像id
删除镜像
docker run +参数+镜像名
创建一个容器并运行
docker run -d --name tomcat8080 -p 8080:8080 tomcat
docker run -d --name tomcat8081 -p 8081:8080 tomcat
# 参数说明
--name 容器命名
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 主机端口(外部端口):容器端口 -p 8080:8080
-v # 卷挂载
docker rm +容器id/容器名
删除一个容器
docker ps -a
查看所有容器
docker start+容器id/容器名
启动一个容器
docker stop+容器id/容器名
停止一个运行的容器
docker restart +容器id/容器名
重启容器
docker kill +容器id/容器名
强制停止当前的容器
$(docker ps -a -q)
(可以理解为所有容器列表)
docker stop $(docker ps -a -q) #停止所有容器
docker exec -it +容器ID/容器名 bash
进入容器内部
exit
直接退出容器并关闭
Ctrl + P + Q
容器不关闭退出
docker cp +容器ID/容器名:容器内路径 目的地主机路径
docker cp 7af535f807e0:/home/Test.java /home
从容器中拷贝文件到主机(可以反过来)
docker logs --tail 10 +容器ID/容器名
查看10条日志
(数据卷)docker run -v 主机路径:容器内路径
docker run -d -p 3344:3306 -v /home/mysql:/etc/mysql --name mysql1 mysql
docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
3、centos防火墙
ip地址
ip addr
# or
ip a
常用
#开启8080端口访问规则
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#更新防火墙规则,立即生效
firewall-cmd --reload
#查看所有打开的端口
firewall-cmd --list-ports
#永久增加65001-65010
firewall-cmd --zone=public --add-port=65001-65010/tcp --permanent
#启动防火墙
systemctl start firewalld.service
#停止防火墙
systemctl stop firewalld.service
# 重启防火墙
systemctl restart firewalld.service
#查看防火墙状态
systemctl status firewalld
#设置防火墙随系统启动
systemctl enable firewalld
#禁止防火墙随系统启动
systemctl disable firewalld
firwall-cmd:是Linux提供的操作firewall的一个工具(服务)命令
--zone #作用域
--add-port=8080/tcp #添加端口,格式为:端口/通讯协议 ;add表示添加,remove则对应移除
--permanent #永久生效,没有此参数重启后失效
systemctl start firewalld.service #启动防火墙
systemctl stop firewalld.service #停止防火墙
systemctl status firewalld #查看防火墙状态
systemctl enable firewalld #设置防火墙随系统启动
systemctl disable firewalld #禁止防火墙随系统启动
firewall-cmd --state #查看防火墙状态
firewall-cmd --reload #更新防火墙规则
firewall-cmd --list-ports #查看所有打开的端口
firewall-cmd --list-services #查看所有允许的服务
firewall-cmd --get-services #获取所有支持的服务
firewall-cmd --list-all-zones #查看所有区域信息
firewall-cmd --get-active-zones #查看活动区域信息
firewall-cmd --set-default-zone=public #设置public为默认区域
firewall-cmd --get-default-zone #查看默认区域信息
firewall-cmd --zone=public --add-interface=eth0 #将接口eth0加入区域public
firewall-cmd --zone=public --remove-interface=eth0 #从区域public中删除接口eth0
firewall-cmd --zone=default --change-interface=eth0 #修改接口eth0所属区域为default
firewall-cmd --get-zone-of-interface=eth0 #查看接口eth0所属区域
firewall-cmd --query-port=8080/tcp # 查询端口是否开放
firewall-cmd --add-port=8080/tcp --permanent #永久添加8080端口例外(全局)
firewall-cmd --remove-port=8800/tcp --permanent #永久删除8080端口例外(全局)
firewall-cmd --add-port=65001-65010/tcp --permanent #永久增加65001-65010例外(全局)
firewall-cmd --zone=public --add-port=8080/tcp --permanent #永久添加8080端口例外(区域public)
firewall-cmd --zone=public --remove-port=8080/tcp --permanent #永久删除8080端口例外(区域public)
firewall-cmd --zone=public --add-port=65001-65010/tcp --permanent #永久增加65001-65010
4、主要软件安装
tomcat
docker pull tomcat:9.0-jdk8-temurin-jammy
docker pull tomcat:9
Nginx
docker pull nginx
#先普通运行一个nginx容器
docker run --name nginx-test -d nginx
#复制出来里面的conf.d和html文件夹(需要里面的配置文件和默认的index.html)
# 拷贝出conf.d和nginx.conf和html文件夹
docker cp nginx-test:/etc/nginx/conf.d /etc/nginx/conf/conf.d
docker cp nginx-test:/etc/nginx/nginx.conf /etc/nginx/conf/nginx.conf
docker cp nginx-test:/usr/share/nginx/html /etc/nginx/html
# 删除nginx-test容器
docker rm -f nginx-test
#再次用下面的命令运行nginx容器(数据卷会覆盖容器内相应的目录,所以上面一步先复制一份出来)
docker run -d --name nginx-80 -p 80:80 -v /etc/nginx/conf/conf.d:/etc/nginx/conf.d -v /etc/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /etc/nginx/html:/usr/share/nginx/html nginx
集群配置nginx.conf中
upstream nginxCluster{
server 192.168.150.130:8080;
server 192.168.150.130:8081;
server 192.168.150.130:8082;
}
default.conf配置
location / {
proxy_pass http://nginxCluster;
}
mysql
docker pull mysql:5.7.39
创建容器
#创建一个测试
docker run -p 3306:3306 --name mys -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.39
#先要把容器内的/etc/my.cnf复制出来
docker cp mys:/etc/my.cnf /etc/mysql01/
#删除
docker rm -f mys
#mkdir /etc/mysql/mysql3306
docker run -p 3306:3306 --restart=always --name mysql3306 -v /etc/mysql/mysql3306/conf:/etc/mysql/conf.d -v /etc/mysql/mysql3306/logs:/var/log/mysql -v /etc/mysql/mysql3306/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.39
进入mysql修改mysql 访问授权
grant all privileges on *.* to root@"%" identified by "123456" with grant option;
刷新权限
flush privileges;
redis
docker pull redis
5、idea集成docker
# vi /lib/systemd/system/docker.service
#注释相同的并添加
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
#重新加载配置文件
systemctl daemon-reload
#重启服务
systemctl restart docker
#
systemctl restart docker.service
#检测
curl http://127.0.0.1:2375/info
#虚拟机放行端口
最后
以上就是爱撒娇抽屉为你收集整理的常用docker命令---初级1、安装2、常用命令3、centos防火墙4、主要软件安装5、idea集成docker的全部内容,希望文章能够帮你解决常用docker命令---初级1、安装2、常用命令3、centos防火墙4、主要软件安装5、idea集成docker所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复