基于Docker的幾種常用CentOS7鏡像小結(jié)
本文主要介紹了使用 Docker 來制作CentOS 環(huán)境的鏡像,并上傳到阿里云的 Docker 鏡像倉庫,其他有需要的可以通過連接拉取下載。我們?cè)谧鲩_發(fā)時(shí)常常需要一些環(huán)境進(jìn)行測(cè)試或者部署,在了解某個(gè)開源項(xiàng)目時(shí)也需要一個(gè)符合要求的環(huán)境下部署上手使用,但有時(shí)測(cè)試環(huán)境較雜亂,比如安裝部署 Apache Druid時(shí)使用默認(rèn)端口啟動(dòng)時(shí)可能會(huì)因?yàn)槟承┒丝谡加枚鴨?dòng)失敗,可以通過修改默認(rèn)端口,但是對(duì)于剛上手使用的用戶手動(dòng)改動(dòng)幾個(gè)端口對(duì)于本來還不熟悉項(xiàng)目的人來說可能會(huì)令人困惑,雖然也可以通過虛擬機(jī)來創(chuàng)建一個(gè)新的環(huán)境,但這樣比較麻煩, Docker 是個(gè)比較好的選擇,僅需幾個(gè)命令就可以啟動(dòng)運(yùn)行一個(gè)容器,配上國(guó)內(nèi)鏡像源拉取下載速度是比較快的,不用時(shí)直接使用 docker 命令刪除,對(duì)于自己的某個(gè)需求還可以制作符合自己使用需求的鏡像,這樣就實(shí)現(xiàn)了快速拉取、快速啟動(dòng)、快速移除和快速發(fā)布。
中文環(huán)境基礎(chǔ)版 Centos7 鏡像。在 CentOS 7 的鏡像基礎(chǔ)上,又添加了 vim、lsof、wget、tree、python-devel、c 編譯環(huán)境、ssh服務(wù)。系統(tǒng) root 密碼為 2020:
sudo docker pull registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003_v1 sudo docker pull registry-internal.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003_v1
開發(fā)環(huán)境版 Centos7 鏡像。在 中文環(huán)境基礎(chǔ)版鏡像基礎(chǔ)上,又添加了 JDK8、Git、Maven、Nginx、Node.js服務(wù)。系統(tǒng) root 密碼為 2020
sudo docker pull registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003-dev_v1 sudo docker pull registry-internal.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003-dev_v1
中文環(huán)境基礎(chǔ)版鏡像。在 開發(fā)環(huán)境版 Centos7 鏡像基礎(chǔ)上添加了 MySQL 5.7 服務(wù)。系統(tǒng) root 密碼為 2020,mysql 的 root 用戶密碼為 123456
sudo docker pull registry.cn-shanghai.aliyuncs.com/yore/bigdata:dev-mysql_v1 sudo docker pull registry-internal.cn-shanghai.aliyuncs.com/yore/bigdata:dev-mysql_v1
1 安裝 Docker
# 1 查看系統(tǒng)中是否已經(jīng)安裝了 Docker systemctl status docker rpm -qa | grep -E "docker" ## 1.1 如果重新安裝可以先卸載舊版本 Docker yum remove docker-ce rm -rf /var/lib/docker ## 1.2 更新系統(tǒng)包 yum -y update # 2 訪問如下網(wǎng)站,下載 Docker RPM 包 # https://download.docker.com/linux/centos/7/x86_64/stable/Packages/ # 例如下 wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.06.3.ce-3.el7.x86_64.rpm # 3 安裝 yum install docker-ce-18.06.3.ce-3.el7.x86_64.rpm # 4 啟動(dòng) systemctl start docker ## 查看信息 docker info
2 配置國(guó)內(nèi)鏡像源
這里配置為阿里的鏡像。訪問阿里云官網(wǎng) https://www.aliyun.com/ 登陸賬號(hào),進(jìn)入管理控制臺(tái) --> 產(chǎn)品與服務(wù) --> 彈性計(jì)算 --> 容器鏡像服務(wù) --> 鏡像加速器,復(fù)制自己的專屬加速器地址。
vim /etc/docker/daemon.json # 添加自己的鏡像地址,保存退出 { "registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"] }
重新加載文件重啟 docker
systemctl daemon-reload systemctl restart docker # 查看啟動(dòng)狀態(tài) systemctl status docker
3 制作中文環(huán)境基礎(chǔ)版Centos7鏡像
3.1 Dockerfile
Dockerfile 形式,將下面配置內(nèi)容放到環(huán)境中的某個(gè)目錄下 的Dockerfile 文件中。最后執(zhí)行構(gòu)建命令 docker build -t yore/centos7_v1 .
后面的 .
表示當(dāng)前路徑。主要拉取一個(gè) centos 7 最新版本,并安裝和設(shè)置中文語言環(huán)境。
FROM centos:7.8.2003 ENV LANG=zh_CN.UTF-8 \ LANGUAGE=zh_CN:zh \ LC_ALL=zh_CN.UTF-8 # Install tools RUN yum update -y && \ yum reinstall -y glibc-common && \ yum install -y telnet net-tools && \ yum clean all && \ rm -rf /tmp/* rm -rf /var/cache/yum/* && \ localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8 && \ ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # Define default command. CMD ["bash"]
查看本地鏡像
# 查看鏡像。會(huì)看到兩個(gè),一個(gè)是原始鏡像,一個(gè)是自定義配置后的鏡像 docker images
3.2 啟動(dòng)容器
# 1 運(yùn)行。下面會(huì)對(duì)本容器做進(jìn)一步的修改設(shè)置 # -d 后臺(tái)運(yùn)行容器 # -p 指定端口映射,格式為:主機(jī)(宿主)端口:容器端口 # --name="yore_centos7" 為容器指定一個(gè)名稱 # -h "hostname" 指定容器的hostname; # -m 設(shè)置容器使用內(nèi)存最大值; # --volume、-v 綁定一個(gè)卷 # --privileged=false 指定容器是否為特權(quán)容器,特權(quán)容器擁有所有的capabilities # --cap-add=[], 添加權(quán)限,權(quán)限清單詳見:http://linux.die.net/man/7/capabilities docker run --privileged=true --cap-add SYS_ADMIN -e container=docker -it \ -p 30022:22 -p 30080:80 -h "bigdata" \ --name="centos7_base" -d yore/centos7_v1:latest /usr/sbin/init # 2 啟停容器 ## 2.1 關(guān)閉容器 docker stop $CONTAINER_ID ## 2.2 啟動(dòng)某個(gè)容器 docker start $CONTAINER_ID ## 2.3 移除容器 docker rm -f $CONTAINER_ID # 3 刪除鏡像 ## image rm 等價(jià)于 rmi docker image rm $IMAGE_ID ## 如果有多個(gè)相同的 IMAGE ID 的刪除 docker rmi $REPOSITORY:$TAG # 4 進(jìn)入容器 docker exec -it $CONTAINER_ID /bin/bash ## 查看當(dāng)前容器中 Centos7 版本 cat /etc/redhat-release
3.3 在容器中安裝配置一些基礎(chǔ)服務(wù)
# 1 為了更好的編輯文件可以安裝 vim yum install -y vim # 2 為了查看端口信息更方便可以安裝 lsof yum install -y lsof # 3 安裝 wget yum install -y wget # 4 安裝 tree yum install -y tree # 5 python 工具 yum install -y python-devel # 6 安裝編譯 C 的環(huán)境 yum install -y gcc gcc-c++ yum install -y zlib yum install -y zlib-devel yum install -y tcl build-essential tk gettext
為了用戶登錄容器內(nèi)的 Centos 配置的環(huán)境變量都生效,進(jìn)行如下配置
vim ~/.bashrc # 在最后添加 source /etc/profile
3.4 SSH
# 1 yum 安裝 spenssl 服務(wù) yum -y install passwd openssl openssh-server openssh-clients mkdir /var/run/sshd/ # 2 修改配置 vim /etc/ssh/sshd_config +39 ## 大概在 38 - 45 行之間,修改或添加如下三個(gè)配置 PermitRootLogin yes RSAAuthentication yes PubkeyAuthentication yes # 3 sshd 服務(wù)的啟停 ## 3.1 啟動(dòng) systemctl start sshd.service ## 3.2 查看 sshd 服務(wù)狀態(tài) systemctl status sshd ## 3.3 停止 systemctl start sshd.service # 4 設(shè)置為開機(jī)自啟 systemctl enable sshd.service # 【可跳過】5 生成ssh的密鑰和公鑰 # ssh-keygen -t rsa # 6 查看 SSH 服務(wù) lsof -i:22 # 7 設(shè)置 root 密碼(2020) passwd # 8 通過 ssh 訪問容器 ssh root@bigdata
3.5 【可選】修改容器配置
當(dāng)我們的容器運(yùn)行過程中需要修改一些配置信息,并生效到容器時(shí),可以按照如下兩種方式操作,第一種方法操作簡(jiǎn)單,但是需要重啟整個(gè) Docker 服務(wù),對(duì)應(yīng)某些配置可能還無法生效;第二種方法是推薦的,直接在已有的容器下生成一個(gè)新的鏡像,以新鏡像重啟容器,不會(huì)對(duì)已有容器產(chǎn)生任何影響。
3.5.1 通過容器的配置文件
# 其中 hash_of_the_container 可以通過查看 CONTAINER ID 獲取 vim /var/lib/docker/containers/${hash_of_the_container}/hostconfig.json
打開后這個(gè)是一個(gè)壓縮后的 json 文件,格式化可以看到 PortBindings
,其中 HostPort
對(duì)應(yīng)的是映射到宿主機(jī)的端口,22/tcp
對(duì)應(yīng)的是容器內(nèi)部的 22 端口,修改完后重啟容器 systemctl restart docker
,然后將容器啟動(dòng) docker start $CONTAINER_ID
,缺點(diǎn)就是每次改動(dòng)Docker 服務(wù)要重啟,容器也需要重啟。
"NetworkMode": "default", "PortBindings": { "22/tcp": [ { "HostIp": "bigdata01", "HostPort": "30022" } ], "80/tcp": [ { "HostIp": "bigdata01", "HostPort": "30080" } ], "3306/tcp": [ { "HostIp": "bigdata01", "HostPort": "33306" } ] }
3.5.2 通過 docker commit 方式
推薦方式。docker commit
把一個(gè)容器的文件改動(dòng)和配置信息 commit 到一個(gè)新的鏡像。這個(gè)在測(cè)試的時(shí)候會(huì)非常有用,把容器所有的文件改動(dòng)和配置信息導(dǎo)入成一個(gè)新的docker鏡像,然后用這個(gè)新的鏡像重起一個(gè)容器,這對(duì)之前的容器不會(huì)有任何影響。
# 1 停止當(dāng)前運(yùn)行的容器 docker stop $CONTAINER_ID # 2 commit 該 docker 容器 docker commit $CONTAINER_ID new_image:tag # 3 查看當(dāng)前的鏡像庫 docker images # 4 用生成的新鏡像重新起一個(gè)容器 docker run --privileged=true --cap-add SYS_ADMIN -e container=docker -it \ -p 30022:22 -p 30080:80 -p 33306:3306 \ --name="yore_centos7_v2" -h "bigdata01" -d yore/centos7_v2:latest /usr/sbin/init
3.6 制作為本地鏡像
# 1 停止當(dāng)前運(yùn)行的容器 docker stop $CONTAINER_ID # 2 commit 該 docker 容器 docker commit $CONTAINER_ID centos7_base:v1 # 3 查看當(dāng)前的鏡像庫 docker images
3.7 鏡像提交到阿里云鏡像庫
- 訪問阿里云官網(wǎng): https://www.aliyun.com/
- 登陸案例云賬號(hào)
- 依次進(jìn)入管理控制臺(tái) --> 產(chǎn)品與服務(wù) --> 彈性計(jì)算 --> 容器鏡像服務(wù)
- 命名空間:設(shè)置后不可修改,例如 yore
- 鏡像倉庫:命名空間選擇上面創(chuàng)建的 yore,創(chuàng)建鏡像倉庫,根據(jù)提示填寫信息(命名空間必選、倉庫名必填,摘要必填),代碼源可以綁定 Git變更后自動(dòng)構(gòu)建,這里選擇本地倉庫,手動(dòng)創(chuàng)建鏡像推送到倉庫。
- 訪問授權(quán):目前案例云只能通過 RAM 權(quán)限進(jìn)行授權(quán)設(shè)置
訪問密碼:設(shè)置鏡像倉庫的密碼(固定、臨時(shí))
# 查看本地已有的鏡像 docker images # 2 訪問憑證(前面設(shè)置的訪問憑證的固定密碼 ) sudo docker login --username=7910*****@qq.com registry.cn-shanghai.aliyuncs.com # 3 tag docker tag $IMAGE_ID registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003_v1 # 4 push到阿里云鏡像 docker push registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003_v1 # 5 如果前面 tag 的鏡像需要?jiǎng)h除,執(zhí)行如下命令 docker rmi $REPOSITORY:$TAG
3.8 使用提交到阿里云的鏡像
上一步提交成功后,在阿里云控制臺(tái)頁面可以看到如下我們提交的鏡像
本鏡像基于 Centos 7.8.2003,主要安裝了 vim、lsof、wget、tree、sshd 等服務(wù)。注意:?jiǎn)?dòng)后 root 用戶的默認(rèn)密碼為 2020,為了使系統(tǒng)更加安全,請(qǐng)先修改為更加復(fù)雜的密碼。
# 查看當(dāng)前 Docker 中有的鏡像 sudo docker images # 拉取上傳的鏡像 ## 鏡像連接可以通過 基本信息 查看,有公網(wǎng)地址、專有網(wǎng)絡(luò)、經(jīng)典網(wǎng)絡(luò)可選 sudo docker pull registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003_v1
4 開發(fā)環(huán)境版 Centos7 鏡像
將開發(fā)中常用到的環(huán)境進(jìn)行安裝和配置
# 1 運(yùn)行。下面會(huì)對(duì)本容器做進(jìn)一步的修改設(shè)置 # 以 base 鏡像為準(zhǔn),啟動(dòng)容器 docker run --privileged=true --cap-add SYS_ADMIN -e container=docker -it \ -p 30022:22 -p 30080:80 -h "bigdata01" \ --name="centos7_dev1" -d centos7_base:v1 /usr/sbin/init # 2 進(jìn)入容器 docker ps docker exec -it $CONTAINER_ID /bin/bash # 3 hosts 改為。 172.17.0.3 yore.node1 bigdata01
4.1 JDK
# 1 下載。如果下面鏈接失效,則需要登錄Oracle的賬號(hào), # 訪問 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下載 jdk8 wget https://download.oracle.com/otn/java/jdk/8u231-b11/5b13a193868b4bf28bcb45c792fce896/jdk-8u231-linux-x64.tar.gz?AuthParam=1573137213_adc79b33f2d9ed27cb8b09b6adf71820 # 2 解壓 tar -zxf jdk-8u231-linux-x64.tar.gz -C /usr/local/ chown root:root -R /usr/local/jdk1.8.0_231 # 3 配置環(huán)境變量 vim /etc/profile # 添加如下配置 ### set java environment JAVA_HOME=/usr/local/jdk1.8.0_231 JRE_HOME=$JAVA_HOME/jre CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export JAVA_HOME JRE_HOME CLASS_PATH PATH # 4 并加載生效: source /etc/profile # 5 為了使每次進(jìn)入容器時(shí)都生效 vim ~/.bashrc # 最后一行添加,保存 source /etc/profile # 6 查看Java版本 java -version
4.2 Git
# 1 下載源碼方式, wget -O git-2.27.0.tar.gz https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.27.0.tar.gz # 2 解壓 tar -zxf git-2.27.0.tar.gz -C /tmp/ cd /tmp/git-2.27.0 # 3 檢驗(yàn)相關(guān)依賴,設(shè)置安裝路徑 ./configure --prefix=/usr/local/git # 4 安裝 make && make install # 5 創(chuàng)建軟連接 ln -s /usr/local/git/bin/git /usr/bin/git # 6 查看版本 git -v
4.3 Maven
# 1 下載 wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz # 2 解壓 tar -zxf apache-maven-3.6.3-bin.tar.gz mv apache-maven-3.6.3 /usr/local/maven3 # 3 修改配置 vim /usr/local/maven3/conf/settings.xml
配置如下內(nèi)容
<!--大概在 55 行左右添加,指定本地倉庫的路徑--> <localRepository>/opt/.m2/repo</localRepository> <!--大概在158 行左右,配置國(guó)內(nèi)鏡像,這里配置為阿里 Maven 鏡像--> <!-- 配置阿里云的鏡像 --> <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> <mirror> <id>central-repos1</id> <name>Central Repository 2</name> <url>https://repo1.maven.org/maven2/</url> <!-- 表示只為central倉庫做鏡像,如果想為所有的倉庫做鏡像那么可以改為 --> <mirrorOf>*</mirrorOf> </mirror>
繼續(xù)完成下面的配置
# 4 配置環(huán)境變量, vim /etc/profile # set Maven environment export MAVEN_HOME=/usr/local/maven3 export PATH=$PATH:$MAVEN_HOME/bin # 5 生效 source /etc/profile # 6 查看版本 mvn -version
4.4 Nginx
# 1 下載 Nginx 離線安裝包。以 x86、centos7版本為例 wget http://nginx.org/packages/mainline/centos/7/x86_64/RPMS/nginx-1.17.6-1.el7.ngx.x86_64.rpm # 2 安裝 rpm -ivh nginx-1.17.6-1.el7.ngx.x86_64.rpm # 3 配置文件 /etc/nginx # server 服務(wù)可以配置到下面路徑,以 .conf 結(jié)尾,重啟或使配置生效 /etc/nginx/conf.d/ # 4 常用命令 ## 4.1 啟動(dòng),應(yīng)為已經(jīng)將內(nèi)部 80端口映射到了宿主機(jī)的 30080,所以通過宿主機(jī) ip 和 30080 端口瀏覽器訪問 systemctl start nginx ## 4.2 狀態(tài) systemctl status nginx ## 4.3 停止 systemctl stop nginx ## 4.4 重啟 systemctl restart nginx ## 4.5 配置重新生效 /usr/sbin/nginx -s reload # 這里提供的鏡像已停止了 Nginx 服務(wù),在需要時(shí)請(qǐng)手動(dòng)啟動(dòng)
4.5 Node.js
# 1 下載 wget https://nodejs.org/dist/v12.18.2/node-v12.18.2-linux-x64.tar.xz # 2 解壓 tar -xf node-v12.18.2-linux-x64.tar.xz mv node-v12.18.2-linux-x64 /usr/local/nodejs # 3 創(chuàng)建連接 ln -s /usr/local/nodejs/bin/node /usr/bin/node ln -s /usr/local/nodejs/bin/npm /usr/bin/npm # 4 查看版本 node -v npm -v
4.6 保存為本地鏡像
# 1 停止當(dāng)前運(yùn)行的容器 docker stop $CONTAINER_ID # 2 commit 該 docker 容器 docker commit $CONTAINER_ID centos7_dev:v1 # 3 查看當(dāng)前的鏡像庫 docker images
4.7 鏡像提交到阿里云鏡像庫
同 3.7 鏡像提交到阿里云鏡像庫 步驟提交到阿里云鏡像庫中
docker tag $IMAGE_ID registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003-dev_v1 docker push registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003-dev_v1
本鏡像基于 Centos 7,在中文基礎(chǔ)版上,又集成了 JDK 、Git、Maven、Nginx、Node.js 服務(wù)。注意:?jiǎn)?dòng)后 root 用戶的默認(rèn)密碼為 2020,為了使系統(tǒng)更加安全,請(qǐng)先修改為更加復(fù)雜的密碼。
# 查看當(dāng)前 Docker 中有的鏡像 sudo docker images # 拉取上傳的鏡像 ## 鏡像連接可以通過 基本信息 查看,有公網(wǎng)地址、專有網(wǎng)絡(luò)、經(jīng)典網(wǎng)絡(luò)可選 sudo docker pull registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003-dev_v1
5 帶 MySQL 版Centos7鏡像
這里在開發(fā)環(huán)境版的鏡像基礎(chǔ)上安裝 MySQL 數(shù)據(jù)庫
5.1 設(shè)置 Docker 網(wǎng)絡(luò)
# 1 查看存在的網(wǎng)絡(luò)(默認(rèn)會(huì)創(chuàng)建三個(gè)) # bridge 橋接網(wǎng)絡(luò)。每次Docker容器重啟時(shí),會(huì)按照順序獲取對(duì)應(yīng)的IP地址,這個(gè)就導(dǎo)致重啟后 IP 地址可能會(huì)改變 # host 主機(jī)網(wǎng)絡(luò)。Docker 容器的網(wǎng)絡(luò)會(huì)附屬在主機(jī)上,兩者是互通的。 # none 容器就不會(huì)分配局域網(wǎng)的IP [yore@VM_0_3_centos app]$ sudo docker network ls NETWORK ID NAME DRIVER SCOPE ba8077c371b9 bridge bridge local 1be5b2b64e10 host host local 77ef163ae7c4 none null local # 2 創(chuàng)建自定義的網(wǎng)絡(luò)。 # sudo docker network prune # 注意:不能和已有的網(wǎng)段沖突 sudo docker network create --subnet=172.19.0.0/16 mynetwork
5.2 啟動(dòng)容器
# 1 運(yùn)行。下面會(huì)對(duì)本容器做進(jìn)一步的修改設(shè)置 # 以 centos7_dev 鏡像為準(zhǔn),啟動(dòng)容器 # network 網(wǎng)絡(luò)方式指定為前面自定義的 mynetwork,這樣我們可以直接指定 ip docker run --privileged=true --cap-add SYS_ADMIN -e container=docker -it \ --network mynetwork --ip 172.19.0.2 -h "bigdata02" --name="dev_mysql_v1" \ -p 30022:22 -p 33306:3306 \ -d centos7_dev:v1 /usr/sbin/init # 2 進(jìn)入容器 docker ps docker exec -it $CONTAINER_ID /bin/bash # 3 【可選】hosts 改為。也可以在 run 時(shí)指定 172.19.0.2 yore.node2 bigdata02
5.3 MySQL
MySQL 安裝詳見我的 blog CDH 6.2.0 或 6.3.0 安裝實(shí)戰(zhàn)及官方文檔資料鏈接#1.5 MySQL 內(nèi)容。
• 系統(tǒng)中 mysql 用戶的默認(rèn)密碼為 mysql。安全起見,在公網(wǎng)下請(qǐng)修改為密碼強(qiáng)度更大的密碼
• MySQL 默認(rèn)開啟了 binlog??梢栽谂渲梦募嘘P(guān)閉掉。
• 當(dāng)報(bào) error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
,執(zhí)行 yum -y install numactl.x86_64
。
• MySQL 數(shù)據(jù)庫管理員賬號(hào) root 的密碼默認(rèn)為 123456??梢宰孕行薷臑槊艽a強(qiáng)度更大的密碼。
• 默認(rèn)情況下,遠(yuǎn)程連接:mysql -h 宿主機(jī)ip -P 33306 -uroot -p
。
5.4 保存為本地鏡像
# 1 停止當(dāng)前運(yùn)行的容器 # docker stop $CONTAINER_ID # 2 commit 該 docker 容器 docker commit $CONTAINER_ID dev_mysql:v1 # 3 查看當(dāng)前的鏡像庫 docker images
5.5 鏡像提交到阿里云鏡像庫
同 3.7 鏡像提交到阿里云鏡像庫 步驟提交到阿里云鏡像庫中。
docker tag $IMAGE_ID registry.cn-shanghai.aliyuncs.com/yore/bigdata:dev-mysql_v1 docker push registry.cn-shanghai.aliyuncs.com/yore/bigdata:dev-mysql_v1
本鏡像基于 Centos 7,在開發(fā)環(huán)境版的基礎(chǔ)上,又集成了 MySQL 5.7 服務(wù)。注意:?jiǎn)?dòng)后 系統(tǒng) root 用戶的默認(rèn)密碼為 2020,為了使系統(tǒng)更加安全,請(qǐng)先修改為更加復(fù)雜的密碼。
# 查看當(dāng)前 Docker 中有的鏡像 sudo docker images # 拉取上傳的鏡像 ## 鏡像連接可以通過 基本信息 查看,有公網(wǎng)地址、專有網(wǎng)絡(luò)、經(jīng)典網(wǎng)絡(luò)可選 sudo docker pull registry.cn-shanghai.aliyuncs.com/yore/bigdata:dev-mysql_v1
關(guān)于 docker 的安裝、docker 中 mysql 鏡像的使用、官方 docker mysql 鏡像中文字符等可以訪問我的另一篇 blog: Windows/Mac系統(tǒng)Docker方式安裝Mysql
到此這篇關(guān)于基于Docker的幾種常用CentOS7鏡像小結(jié)的文章就介紹到這了,更多相關(guān)Docker常用CentOS7鏡像內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。