一、windows 10 docker安装
-----------------------------------------------------
###docker安装
https://blog.csdn.net/cplvfx/article/details/117677132
##启动容器
docker run -it ubuntu:20.04 /bin/bash
应用程序部署
-------------------------------------------------------------
##上传文件到容器
docker cp E:\***\Python-2.7.3.tar.xz 663076c29050c577c271c4c1f0af340b89a0ca6db789529718481bd12f45eb63:/opt/software
docker cp E:\***\v6.82-linux.tar 663076c29050c577c271c4c1f0af340b89a0ca6db789529718481bd12f45eb63:/opt/software
tar -xvf filename
##安装python2.7
cd Python-2.7.3
./configure
make
make install
vim ~/.bashrc
export PATH=$PATH:/opt/software/Python-2.7.3
source ~/.bashrc
python -V
#######################gdal-2.4.4
./configure
make
make install
vim ~/.bashrc
export PATH=$PATH:/opt/software/gdal-2.4.4
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/software/gdal-2.4.4/lib
export GDAL_DATA=/opt/software/gdal-2.4.4/data
source ~/.bashrc
#libgdal问题
apt-get install libgdal-dev
#############备份容器为镜像,生成新的容器,并设置端口映射
docker stop festive_stonebraker
docker commit festive_stonebraker smart_ubuntu:20.04
#创建新容器,绑定端口
docker run -it --name mysmart01 -p 8090:8095 -p 8095:8095 smart_ubuntu_v6.82
docker ps
#######停止容器,启动容器
docker stop mysmart01
docker start mysmart01
####启动容器中的应用程序
#进入容器
docker exec -it mysmart_v6.82 /bin/bash
#启动程序
cd /***/v6.82-linux
sh 0-startup.sh
#####容器镜像打包
https://blog.csdn.net/weixin_44455388/article/details/107539559
#打包镜像
docker save -o smart_ubuntu_v6.82.tar smart_ubuntu_v6.82
#打包容器
docker export mysmart_v6.82 | gzip > mysmart_v6.82.gz
二、centos 7 环境配置
----------------------------------------------------------
****************************************************
#########yum切换国内源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
#########升级yum
yum update
###############关闭防火墙
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service
三、centos7 docker安装
---------------------------------------------------------
https://www.cnblogs.com/guliang/p/14267450.html
https://blog.csdn.net/hjp2020/article/details/106166259
#升级本地yum包
yum update
#安装工具集
yum install -y yum-utils device-mapper-persistent-data lvm2
#安装阿里云docker源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新yum缓存
yum makecache fast
yum clean all
#安装docker
yum -y install docker-ce
#启动docker服务
service docker start
#关闭docker服务
service docker stop
#查看docker版本
docker -v
#开机启动docker服务
systemctl enable docker.service
四、centos7 恢复镜像
--------------------------------------------------------------------------------------
docker load -i smart_ubuntu_v6.82.tar
#创建容器
docker run -it --name mysmart01 -p 8090:8095 -p 8095:8095 smart_ubuntu_v6.82
#启动容器
docker start mysmart01
五、问题清单
通过宿主机器启动容器里面的应用程序,while true;do echo hello;sleep 5;done用于docker 前端进程一直保持存活。
1)docker exec外部启动程序
docker exec -d mysmart01 bash -c "cd /opt/software/v6.82-linux/; sh 0-startup.sh; while true;do echo hello;sleep 5;done"
docker exec -d --user root mysmart01 /bin/bash -c "sh /opt/software/v6.82-linux/0-startup.sh;while true;do echo hello;sleep 5;done"
docker exec -d mysmart01 /bin/bash -c 'sh /opt/software/v6.82-linux/0-startup.sh;while true;do echo hello;sleep 5;done'
2)docker exec外部关闭程序
docker exec -d mysmart01 bash -c "cd /opt/software/v6.82-linux/; sh 1-shutdown.sh"