1、查看當前鏡像java
[root@iZ25av9xi4hZ ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/centos latest 980e0e4c79ec 3 weeks ago 196.7 MB [root@iZ25av9xi4hZ ~]#
上面的centos 是經過docker pull centos拉取得到的最新centos7 版本linux
2、建立一個容器,並配置ssh、tomcat、jdkdocker
2.1 建立一個容器(命名爲base_centos)apache
[root@iZ25av9xi4hZ ~]# docker run -it --name base_centos centos:latest /bin/bash [root@cf6b692adf02 /]#
2.2 安裝net-tools, iproute bootstrap
net-tools 可使用ifconfig等命令vim
[root@cf6b692adf02 /]# yum install -y net-tools
iproute 可使用ip add 查看網絡配置 centos
[root@cf6b692adf02 /]# yum install -y iproute
三、sshd安裝,及配置瀏覽器
3.1 安裝opensshtomcat
[root@cf6b692adf02 /]# yum install -y openssh [root@cf6b692adf02 /]# yum install -y openssh-server [root@cf6b692adf02 /]# yum install -y openssh-clients
3.2 配置私鑰bash
輸入 命令顯示以下,分別配置私鑰。其中輸入的地方所有選擇enter鍵跳過
[root@cf6b692adf02 /]#/usr/sbin/sshd Could not load host key: /etc/ssh/ssh_host_rsa_key Could not load host key: /etc/ssh/ssh_host_ecdsa_key Could not load host key: /etc/ssh/ssh_host_ed25519_key
[root@cf6b692adf02 /]# ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /etc/ssh/ssh_host_rsa_key. Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub. The key fingerprint is: d6:46:9c:ef:bf:5d:45:95:59:50:b9:9b:fa:a6:1d:3d root@cf6b692adf02 The key's randomart image is: +--[ RSA 2048]----+ | .oO| | . . +.| | + o| | o . o | | S o . +| | . . . oo| | . .Eo| | o.o+| | .*+.| +-----------------+
[root@cf6b692adf02 /]# ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key Generating public/private ecdsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /etc/ssh/ssh_host_ecdsa_key. Your public key has been saved in /etc/ssh/ssh_host_ecdsa_key.pub. The key fingerprint is: 7f:ad:3b:5f:93:c2:6e:f0:05:f8:75:80:18:f8:ba:83 root@cf6b692adf02 The key's randomart image is: +--[ECDSA 256]---+ | ..o . | | . . . . | | . . . | | .. . ..| | S. . o .| | .. ..o ..| | . .. +ooo.| | E o .o+...| | . +=. | +-----------------+ [root@cf6b692adf02 /]#
[root@cf6b692adf02 /]# ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key Generating public/private ed25519 key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /etc/ssh/ssh_host_ed25519_key. Your public key has been saved in /etc/ssh/ssh_host_ed25519_key.pub. The key fingerprint is: 44:93:0d:94:eb:e2:a4:3e:a3:fe:ab:e7:4f:2e:f0:44 root@cf6b692adf02 The key's randomart image is: +--[ED25519 256--+ | .== | | .o.. | | .. | | E .. | | . .S | | . . o . | | + +.. | | Bo. | | .+B=*o | +-----------------+ [root@cf6b692adf02 /]#
最後執行一次,再查看sshd進程,發現是啓動的。
[root@cf6b692adf02 /]#ps -a | grep sshd [root@cf6b692adf02 /]# /usr/sbin/sshd [root@cf6b692adf02 /]# ps -ef | grep sshd root 109 1 0 13:16 ? 00:00:00 /usr/sbin/sshd root 128 1 0 13:22 ? 00:00:00 grep --color=auto sshd [root@cf6b692adf02 /]#
將sshd 加入開機自啓(/etc/rc.d/rc.local)
#!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is highly advisable to create own systemd services or udev rules # to run scripts during boot instead of using this file. # # In contrast to previous versions due to parallel execution during boot # this script will NOT be run after all other services. # # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure # that this script will be executed during boot. touch /var/lock/subsys/local /usr/sbin/sshd
四、tomcat 安裝及配置
4.1 安裝wget命令
#yum install -y wget
4.2 下載tomcat8
[root@cf6b692adf02 tmp]# wget http://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.5.5/bin/apache-tomcat-8.5.5.tar.gz
4.3 安裝tomcat8,並加入開機自啓
五、jdk 安裝配置
[root@cf6b692adf02 tmp]#wget http://download.oracle.com/otn-pub/java/jdk/8u101-b13/jdk-8u101-linux-x64.rpm?AuthParam=1475328855_221393517c76253d935635ef2ec114d1 [root@cf6b692adf02 tmp]#mv jdk-8u101-linux-x64.rpm?AuthParam=1475328855_221393517c76253d935635ef2ec114d1 jdk.rpm [root@cf6b692adf02 tmp]#rpm -ivh jdk.rpm Preparing... ################################# [100%] Updating / installing... 1:jdk1.8.0_101-2000:1.8.0_101-fcs ################################# [100%] Unpacking JAR files... tools.jar... plugin.jar... javaws.jar... deploy.jar... rt.jar... jsse.jar... charsets.jar... localedata.jar... [root@cf6b692adf02 tmp]# java -version java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode) [root@cf6b692adf02 tmp]#
jdk rpm安裝在/usr/java/jdk1.8.0_101/jre/bin/java
五、寫腳本啓動關閉tomcat
5.1 安裝vim
[root@cf6b692adf02 tomcat]# yum install vim* -y
5、
5.1 建立新的鏡像文件
將以前作的容器弄成鏡像文件,取名base:latest
[root@iZ25av9xi4hZ ~]# docker commit cf6b692adf02 base:latest sha256:a90294e9b9b5b375c895ff32bfd34120797e8391bdbcbfa53b3792d636280f70
查看鏡像下載全部的鏡像文件
[root@iZ25av9xi4hZ ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE base latest a90294e9b9b5 2 minutes ago 934.9 MB docker.io/centos latest 980e0e4c79ec 3 weeks ago 196.7 MB [root@iZ25av9xi4hZ ~]#
5.2建立tomcat_cl 容器,並設置其ssh對於宿主機器的10022端口,8080端口對應宿主機器的10088端口
[root@iZ25av9xi4hZ ~]# docker run -p 10022:22 -p 10088:8080 --name tomcat_cl -d base:latest /usr/sbin/sshd -D e21a8af9269cd06b3950f59020de4d29723580c20bd35334ea6ff3fed28fb043 [root@iZ25av9xi4hZ ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e21a8af9269c base:latest "/usr/sbin/sshd -D" 7 seconds ago Up 6 seconds 0.0.0.0:10022->22/tcp, 0.0.0.0:10088->8080/tcp tomcat_cl cf6b692adf02 centos:latest "/bin/bash" About an hour ago Up 10 minutes base_centos [root@iZ25av9xi4hZ ~]#
5.3 ssh登陸容器
[root@iZ25av9xi4hZ ~]# ssh root@127.0.0.1 -p 10022 The authenticity of host '[127.0.0.1]:10022 ([127.0.0.1]:10022)' can't be established. ECDSA key fingerprint is 7f:ad:3b:5f:93:c2:6e:f0:05:f8:75:80:18:f8:ba:83. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '[127.0.0.1]:10022' (ECDSA) to the list of known hosts. root@127.0.0.1's password: Permission denied, please try again.
開始沒有建立密碼,因此叫修改一下密碼
[root@iZ25av9xi4hZ ~]# docker exec -it tomcat_cl /bin/bash [root@e21a8af9269c /]# passwd Changing password for user root. New password: BAD PASSWORD: The password is shorter than 8 characters Retype new password: passwd: all authentication tokens updated successfully. [root@e21a8af9269c /]# exit exit [root@iZ25av9xi4hZ ~]#
再次ssh ,能夠正常進入
[root@iZ25av9xi4hZ ~]# ssh root@127.0.0.1 -p 10022 root@127.0.0.1's password: [root@e21a8af9269c ~]#
5.4 在宿主機器檢查對應的映射端口
[root@iZ25av9xi4hZ ~]# ps -aux | grep 10022 root 17088 0.0 1.5 188360 15708 ? Sl 22:41 0:00 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 10022 -container-ip 192.168.0.3 -container-port 22 root 17218 0.0 0.0 112660 960 pts/3 S+ 22:46 0:00 grep --color=auto 10022 [root@iZ25av9xi4hZ ~]# ps -aux | grep 10088 root 17079 0.0 1.5 131020 15652 ? Sl 22:41 0:00 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 10088 -container-ip 192.168.0.3 -container-port 8080 root 17226 0.0 0.0 112664 960 pts/3 S+ 22:47 0:00 grep --color=auto 10088 [root@iZ25av9xi4hZ ~]#
進入容器去啓動tomcat
[root@iZ25av9xi4hZ ~]# ssh root@127.0.0.1 -p 10022 root@127.0.0.1's password: [root@e21a8af9269c ~]# ps -ef | grep java root 178 162 0 14:52 pts/0 00:00:00 grep --color=auto java [root@e21a8af9269c ~]# /app/apache-tomcat-cl/bin/startup.sh Using CATALINA_BASE: /app/apache-tomcat-cl Using CATALINA_HOME: /app/apache-tomcat-cl Using CATALINA_TMPDIR: /app/apache-tomcat-cl/temp Using JRE_HOME: /usr Using CLASSPATH: /app/apache-tomcat-cl/bin/bootstrap.jar:/app/apache-tomcat-cl/bin/tomcat-juli.jar Tomcat started. [root@e21a8af9269c ~]# ps -ef | grep java root 193 1 56 14:52 pts/0 00:00:02 /usr/bin/java -Djava.util.logging.config.file=/app/apache-tomcat-cl/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -classpath /app/apache-tomcat-cl/bin/bootstrap.jar:/app/apache-tomcat-cl/bin/tomcat-juli.jar -Dcatalina.base=/app/apache-tomcat-cl -Dcatalina.home=/app/apache-tomcat-cl -Djava.io.tmpdir=/app/apache-tomcat-cl/temp org.apache.catalina.startup.Bootstrap start root 210 162 0 14:52 pts/0 00:00:00 grep --color=auto java [root@e21a8af9269c ~]#
經過瀏覽器輸入宿主ip:端口。能夠看到tomcat運行起來了。
docker一個小的案例容器搞定,有什麼錯誤的地方歡迎指出