烦恼一般都是想太多了。

0%

关于在内网环境部署Docker业务

内网环境,系统 CentOS7,具体的采用方式就是在相同的系统环境下,将安装 docker 需要的 rpm 包及依赖,传到服务器上安装后,启动 Docker 服务。然后再将相关的镜像打包,传上去,重新加载。

yumdownloader

此工具用来下载 RPM 包:

yum install yum-utils -y

Docker 离线安装

下载 Docker RPM 及依赖

mkdir rpmdir && rpmdir
yumdownloader --resolve --destdir=rpmdir docker \
PyYAML \
atomic-registries \
container-selinux \
container-storage-setup \
containers-common \
docker-client \
docker-common \
libseccomp \
libyaml \
oci-register-machine \
oci-systemd-hook \
oci-umount \
python-backports \
python-backports-ssl_match_hostname \
python-ipaddress \
python-pytoml \
python-setuptools \
subscription-manager-rhsm-certificates \
yajl \
libselinux \
libselinux-python \
libselinux-utils \
libsemanage \
libsemanage-python \
libsepol \
policycoreutils \
policycoreutils-python \
selinux-policy \
selinux-policy-targeted \
setools-libs

上传到服务器

tar czvf rpmdir.tgz rpmdir
scp rpmdir.tgz user@server:~/

安装

tar -zxf rpmdir.tgz 
cd rpmdir
yum localinstall *
systemctl enable docker
systemctl start docker
docker info # 查看一下安装好没有

Docker 镜像上传

我利用这个 DockerFile 来建立 mysql5.7 mb4 的镜像

git clone https://github.com/guillaumeprevost/docker-mysql-utf8mb4.git
cd docker-mysql-utf8mb4
docker build -t mysql5.7utf8mb4 .
docker save mysql5.7utf8mb4 > mysql5.7utf8mb4.tar
scp mysql5.7utf8mb4.tar user@server:~

服务器上运行

docker load < mysql5.7utf8mb4.tar
setenforce 0 # 这个是为了关闭 seLinux ,避免无法将数据目录映射出来
mkdir -p /data/config
touch /data/config/my.cnf
docker run -d -p 3306:3306 --name mysql -v /data/data:/var/lib/mysql -v /data/config/my.cnf:/etc/mysql/conf.d/my.cnf --restart always -e MYSQL_ROOT_PASSWORD='gdgdstudy' mysql5.7utf8mb4
[mysqld]
log_bin=mysql-bin
server_id=1
lower_case_table_names=1
secure_file_priv="/"