1.直接通过docker hub上的centos镜像安装centos
docker search centos
[docker@localhost education]$ docker search centos
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS. 5433 [OK]
ansible/centos7-ansible Ansible on Centos7 121 [OK]
jdeathe/centos-ssh CentOS-6 6.10 x86_64 / CentOS-7 7.6.1810 x86鈥 110 [OK]
consol/centos-xfce-vnc Centos container with "headless" VNC session鈥 91 [OK]
centos/mysql-57-centos7 MySQL 5.7 SQL database server 57
imagine10255/centos6-lnmp-php56 centos6-lnmp-php56 57 [OK]
tutum/centos Simple CentOS docker image with SSH access 44
centos/postgresql-96-centos7 PostgreSQL is an advanced Object-Relational 鈥 37
kinogmt/centos-ssh CentOS with SSH 27 [OK]
centos/php-56-centos7 Platform for building and running PHP 5.6 ap鈥 20
guyton/centos6 From official centos6 container with full up鈥 10 [OK]
pivotaldata/centos-gpdb-dev CentOS image for GPDB development. Tag names鈥 10
drecom/centos-ruby centos ruby 6 [OK]
mamohr/centos-java Oracle Java 8 Docker image based on Centos 7 3 [OK]
darksheer/centos Base Centos Image -- Updated hourly 3 [OK]
pivotaldata/centos Base centos, freshened up a little with a Do鈥 3
pivotaldata/centos-mingw Using the mingw toolchain to cross-compile t鈥 2
miko2u/centos6 CentOS6 鏃ユ湰瑾炵挵澧 2 [OK]
pivotaldata/centos-gcc-toolchain CentOS with a toolchain, but unaffiliated wi鈥 1
indigo/centos-maven Vanilla CentOS 7 with Oracle Java Developmen鈥 1 [OK]
mcnaughton/centos-base centos base image 1 [OK]
blacklabelops/centos CentOS Base Image! Built and Updates Daily! 1 [OK]
pivotaldata/centos7-dev CentosOS 7 image for GPDB development 0
smartentry/centos centos with smartentry 0 [OK]
pivotaldata/centos6.8-dev CentosOS 6.8 image for GPDB development 0
docker pull centos
安装好centos后
docker中进入容器:
docker run -it -p 10000:80 centos:latest /bin/bash
在centos中安装anaconda,因为该镜像里太干净,因此需要先安装一些常用命令
yum -y install vim
yum -y install wget
安装anaconda3
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.1.0-Linux-x86_64.sh
bash Anaconda3-5.1.0-Linux-x86_64.sh
直接用bash,会报错,说是在该路径下已经存在anaconda3
网上有文章说是用如此修改即可
bash Anaconda3-5.1.0-Linux-x86_64.sh -u
然而我还是报错了,没有安装bunzip2
安装bunzip2
yum install -y bzip2
然后接着安装anaconda3
bash Anaconda3-5.1.0-Linux-x86_64.sh -u
刚装好的anaconda3中pip 、conda是不能用的,需要更新环境变量,且更新环境变量后,还需要更新保存。
安装好后,修改环境变量
vim /etc/profile
export PATH=$PATH:/root/anaconda3/bin
修改环境变量后,需要保存
source /root/.bashrc
这时候 输入 pip list 可以查看已安装的包,如果可以查看,代表anaconda3安装成功
然后就可以安装需要的包了
pip install tensorflow==1.9.0
pip install keras==2.2.2
pip install opencv-python==3.4.3
pip install opencv-contrib-python==3.4.4.19
安装opencv-python时出现错误
[root@f32a30e8fdc4 /]# pip install opencv-python==3.4.3
Collecting opencv-python==3.4.3
ERROR: Could not find a version that satisfies the requirement opencv-python==3.4.3 (from versions: 3.1.0.4, 3.1.0.5, 3.2.0.6, 3.2.0.7, 3.2.0.8, 3.3.0.9, 3.3.0.10, 3.3.1.11, 3.4.0.12, 3.4.0.14, 3.4.1.15, 3.4.2.16, 3.4.2.17, 3.4.3.18, 3.4.4.19, 3.4.5.20, 4.0.0.21, 4.0.1.23, 4.0.1.24, 4.1.0.25)
ERROR: No matching distribution found for opencv-python==3.4.3
说是不存在这个版本的opencv-python,然后列了一大推的版本号,但是我再windows下的版本号就是这个呀,不清楚了
最后,我只好把版本号改为3.4.3.18了。
这样所需要的软件跟包就安装好了。
接下来就是要运行该有的Python文件了,运行Python文件,需要可视化的,那我这需要安装一个pycharm。
curl https://download.jetbrains.8686c.com/python/pycharm-community-2018.1.4.tar.gz
[root@f32a30e8fdc4 /]# curl https://download.jetbrains.8686c.com/python/pycharm-community-2018.1.4.tar.gz
Warning: Binary output can mess up your terminal. Use "--output -" to tell
Warning: curl to output it to your terminal anyway, or consider "--output
Warning: <FILE>" to save to a file.
把curl改为wget
[root@f32a30e8fdc4 /]# wget https://download.jetbrains.8686c.com/python/pycharm-community-2018.1.4.tar.gz
--2019-07-02 09:25:31-- https://download.jetbrains.8686c.com/python/pycharm-community-2018.1.4.tar.gz
Resolving download.jetbrains.8686c.com (download.jetbrains.8686c.com)... 61.147.228.247, 124.225.168.58, 240e:f7:d100::78
Connecting to download.jetbrains.8686c.com (download.jetbrains.8686c.com)|61.147.228.247|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 271284732 (259M) [application/octet-stream]
Saving to: 'pycharm-community-2018.1.4.tar.gz'
26% [===================================================>
解压
tar -xf pycharm-community-2018.1.4.tar.gz
进入解压后的bin目录进行安装
[root@f32a30e8fdc4 /]# tar -xf pycharm-community-2018.1.4.tar.gz
[root@f32a30e8fdc4 /]# ll
total 1393844
-rw-r--r-- 1 root root 577996269 Feb 15 2018 Anaconda3-5.1.0-Linux-x86_64.sh
-rw-r--r-- 1 root root 577996269 Feb 15 2018 Anaconda3-5.1.0-Linux-x86_64.sh.1
-rw-r--r-- 1 root root 12082 Mar 5 17:36 anaconda-post.log
lrwxrwxrwx 1 root root 7 Mar 5 17:34 bin -> usr/bin
drwxr-xr-x 5 root root 360 Jul 2 07:47 dev
drwxr-xr-x 1 root root 93 Jul 2 07:49 etc
drwxr-xr-x 2 root root 6 Apr 11 2018 home
lrwxrwxrwx 1 root root 7 Mar 5 17:34 lib -> usr/lib
lrwxrwxrwx 1 root root 9 Mar 5 17:34 lib64 -> usr/lib64
drwxr-xr-x 2 root root 6 Apr 11 2018 media
drwxr-xr-x 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x 2 root root 6 Apr 11 2018 opt
dr-xr-xr-x 370 root root 0 Jul 2 07:47 proc
drwxr-xr-x 10 root root 157 Jul 2 09:28 pycharm-community-2018.1.4
-rw-r--r-- 1 root root 271284732 May 31 2018 pycharm-community-2018.1.4.tar.gz
dr-xr-x--- 1 root root 141 Jul 2 08:20 root
drwxr-xr-x 1 root root 6 Jul 2 08:08 run
lrwxrwxrwx 1 root root 8 Mar 5 17:34 sbin -> usr/sbin
drwxr-xr-x 2 root root 6 Apr 11 2018 srv
dr-xr-xr-x 13 root root 0 Jun 26 01:31 sys
drwxrwxrwt 1 root root 6 Jul 2 09:12 tmp
drwxr-xr-x 1 root root 43 Mar 5 17:34 usr
drwxr-xr-x 1 root root 52 Mar 5 17:34 var
[root@f32a30e8fdc4 /]# cd pycharm-community-2018.1.4
[root@f32a30e8fdc4 pycharm-community-2018.1.4]# cd bin
[root@f32a30e8fdc4 bin]# ll
total 140
-rwxr-xr-x 1 root root 221 May 24 2018 format.sh
-rwxr-xr-x 1 root root 23072 May 24 2018 fsnotifier
-rwxr-xr-x 1 root root 26453 May 24 2018 fsnotifier-arm
-rwxr-xr-x 1 root root 29648 May 24 2018 fsnotifier64
-rw-r--r-- 1 root root 10915 May 24 2018 idea.properties
-rwxr-xr-x 1 root root 272 May 24 2018 inspect.sh
-rw-r--r-- 1 root root 2236 May 24 2018 log.xml
-rwxr-xr-x 1 root root 410 May 24 2018 printenv.py
-rw-r--r-- 1 root root 7074 May 24 2018 pycharm.png
-rwxr-xr-x 1 root root 6856 May 24 2018 pycharm.sh
-rw-r--r-- 1 root root 337 May 24 2018 pycharm.vmoptions
-rw-r--r-- 1 root root 329 May 24 2018 pycharm64.vmoptions
-rwxr-xr-x 1 root root 708 May 24 2018 restart.py
然而却报错了
[root@f32a30e8fdc4 bin]# ./pycharm.sh
Startup Error: Unable to detect graphics environment
解决办法:设置默认图形界面启动
[root@f32a30e8fdc4 bin]# systemctl set-default graphical.targe
Failed to set default target: No such file or directory
如果没有图形界面则需要安装界面,然后重启
yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
shutdown -r now
[root@f32a30e8fdc4 bin]# shutdown -r now
Failed to talk to init daemon.
这个不能关闭连接,我退出了容器,然后再进入容器时,需要先启动容器,再进入容器,否则会报错如下
[docker@localhost education]$ docker exec -it f32a30e8fdc4 /bin/bash
Error response from daemon: Container f32a30e8fdc4f25dc01db0a611d7f81d0e11dbdfc8d7e07fcfdd2835ae698736 is not running
按如下操作即可进入
[docker@localhost education]$ docker start f32a30e8fdc4
f32a30e8fdc4
[docker@localhost education]$ docker exec -it f32a30e8fdc4 /bin/bash
然后重新安装pycharm,但是还是报没有安装图形化界面
[root@f32a30e8fdc4 bin]# ./pycharm.sh
Startup Error: Unable to detect graphics environment
[root@f32a30e8fdc4 bin]# systemctl set-default graphical.targe
Failed to set default target: No such file or directory
接着尝试下面一种方法,安装java-1.8.0-openjdk:
[root@f32a30e8fdc4:rpm -q java-1.8.0-openjdk
java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64
[root@f32a30e8fdc4 bin]# yum install java-1.8.0-openjdk
Loaded plugins: fastestmirror, langpacks, ovl
Loading mirror speeds from cached hostfile
* base: mirror.jdcloud.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
base | 3.6 kB 00:00
extras | 3.4 kB 00:00
updates | 3.4 kB 00:00
Package 1:java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64 already installed and latest version
Nothing to do
说是已经安装了java-1.8.0-openjdk
故问题还是没有解决,仍报没有图形化界面
使用下面的方式
yum install virt-manager
还是不行。。。原来我的docker是在服务器上的,没有桌面,所以根本没有图形化界面,也没办法安装pycharm。
不,应该说我使用的centos镜像没有图像化界面。
保存容器
[docker@localhost docker_face_recognition]$ docker commit -a "limt" -m "original enviroment" f32a30e8fdc4 face_recogniton
sha256:b47d847df004d47ce56881d3b097b386323e03d64551fec2ece7f2fbeb6ee9b7
f32a30e8fdc4 为容器ID
face_recognition 为新命名的名称
[docker@localhost docker_face_recognition]$ docker save face_recogniton-o /opt/face_recogniton.tar
cowardly refusing to save to a terminal. Use the -o flag or redirect
保存镜像
[docker@localhost education]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
face_recogniton latest b47d847df004 7 minutes ago 8.37GB
<none> <none> f49a5f5d9c46 23 minutes ago 867MB
centos latest 9f38484d220f 3 months ago 202MB
python 3.6.4 07d72c0beb99 15 months ago 689MB
singularities/spark 1.6 165f9f3c6797 17 months ago 1.29GB
java 8-jdk d23bdf5b1b1b 2 years ago 643MB
[docker@localhost education]$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f32a30e8fdc4 centos:latest "/bin/bash" 20 hours ago Up 2 hours 0.0.0.0:10000->80/tcp reverent_shockley
[docker@localhost education]$ docker save face_recognition -o /home/docker/education/face_recogniton.tar
Error response from daemon: No such image: face_recognition
[docker@localhost education]$ docker save face_recogniton -o /home/docker/education/face_recogniton.tar
[docker@localhost education]$
开始名字写错了,过后才发现
这样就把镜像保存好了,完成!