docker常用命令
# Docker常用命令
# 一、针对docker的操作
# 1.0 查看容器
docker ps -n 5
1
# 1.1 启动容器
docker start $CONTAINER_ID
或
docker start $NAMES
1
2
3
2
3
# 1.2 停止容器
docker stop $CONTAINER_ID
或
docker stop $NAMES
1
2
3
2
3
# 1.3 进入容器
docker exec -it $CONTAINER_ID /bin/bash
或
docker exec -it $NAMES /bin/bash
1
2
3
2
3
# 2.1 docker查看镜像
docker images
1
# 2.2 docker装载导出的tar镜像
docker load<image.tar
1
# 2.3 docker 修改镜像名标签
docker tag $IMAGE ID ubuntu_redis:181227
1
# 2.4 导出镜像
docker save gateway_core:latest -o /opt/gateway_core.tar
或者
docker save 镜像id > /opt/压缩.tar
1
2
3
2
3
# 2.5 将运行的容器导出
1、如果是正在运行的容器,则先要把容器打包成镜像
将该暂停的容器打包成镜像
docker commit $CONTAINER_ID或$NAMES 新的镜像名
1
查看镜像列表
docker images
1
重复2.4 导出镜像
# 二、创建虚拟网络
# docker 自定义网络
docker network create --driver=bridge --subnet=192.168.24.130/16 dockerface12
1
# 三、容器内命令
# 安装vim
apt-get install vim
1
# 安装go
更新apt库
apt-get update
1
sudo apt-get install golang-go
1
查看安装状态
go version
1
# 四、docker与firewalld冲突解决
说明:Docker安装了mysql,没有用防火墙开放3306端口,但是我们也确实可以访问数据库
# 解决办法:绕过iptables
vi /etc/docker/daemon.json
1
如果没有这个文件则新建 格式是json的格式
{
... #这里是文件的其他内容
"experimental":true,
"iptables":false
}
1
2
3
4
5
2
3
4
5
systemctl restart docker
systemctl restart firewalld
systemctl restart docker
1
2
3
2
3
# 开启NAT转发功能
说明:绕过iptables,容器内部无法访问外界IP
检查是否允许 NAT 转发
firewall-cmd --query-masquerade
1
2
2
开启 NAT 转发
firewall-cmd --permanent --zone=public --add-masquerade
firewall-cmd --reload
1
2
2
禁止防火墙 NAT 转发
firewall-cmd --remove-masquerad
firewall-cmd --reload
1
2
2
上次更新: 2023/11/06, 15:35:49