一、服务器docker开启远程访问
vi /usr/lib/systemd/system/docker.service
在ExecStart这一行后添加
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
,如下图
重启docker
systemctl daemon-reload
systemctl restart docker
确保服务器安全组开放2375端口
注意:直接开放2375端口意味着其他任何人也可以直接操作服务器,这里仅做测试用,正式服务器要加秘钥验证
二、安装Docker插件&配置Docker服务器
1.打开File -> Settings -> Plugins 安装Docker插件
连接成功后会在IDE左下角出现Docker窗口,点击左侧绿色Connect后可以直接连接服务器,并且可以查看服务器上的镜像和容器等。
三、创建项目和配置
1.项目 说明 依赖go mod 编译模式
2.创建一个基于golang的Dockerfile文件,放在根目录下
四、配置交叉编译
环境变量改为CGO_ENABLED=0;GOARCH=amd64;GOOS=linux
,参数改为-o ./go_mysql
如下图
五、配置Docker编译
下面是Run Option的一些参数,可以自行增减docker run配置
--restart=always --env GO_ENV=prod --env GO_APP_PORT=8080--expose 8080-d -p 8080:8080
五、发布Docker
直接点运行按钮就行了会自动做很多动作。1、自动连Docker服务器 2、编译golang的liunx文件 3、docker build & docker run
在服务器上分别用docker images
和 docker ps -a
查看运行情况,或者直接http访问发布的程序端口测试
测试成功!!
六 挂载目录
再Dockerfile 文件追加
VOLUME ["/home/app/go_mysql"]
执行
docker run --name 53b218e60c6c -it b9093911bd31 /bin/bash
name 后面为容器id it 后面为 镜像id
说明:服务器需要搭建go环境
1安装下载go 版本
yum install golang
2环境配置
vi /etc/profile
在文件后面追加如下文本:
export GOROOT=/usr/lib/golang
export GOPATH=/home/go/lib
export GO111MODULE="on"
export GOPROXY=https://goproxy.io
export GOARCH=amd64
export GOOS=linux
export GOTOOLS=$GOROOT/pkg/tool
3保存退出
执行 wq
执行 source profile
4 查看go环境
go env GOPATH
查看docker 正在运行的某个容器下的目录结构与文件
docker exec -it containerID /bin/bash 进入容器交互 containerID:镜像ID
查看镜像
docker ps -a
查看镜像cup 内存
docker stats
docker 和虚拟机区别
docker 是隔离应用 虚拟机是隔离整个运行环境