华为云服务器初始化

目录

1.linux服务器修改主机名hostname

2.linux服务器在线安装docker

3.docker安装nginx

4.docker安装redis

5.docker安装jdk


今天刚购买的一台华为云服务器

准备用来

1.搭建一个docker 环境,安装jdk , nginx, redis, rabbitmq 后续直接可以用这个镜像来部署到其他服务器

2.研究下java 调用shell脚本的执行问题

===================================

1.linux服务器修改主机名hostname

刚拿到服务器主机名很长一段,修改主机名

hostnamectl set-hostname <newhostname>

新开一个界面就是显示主机名xl 了

===================================

2.linux服务器在线安装docker

在线安装还是比较简单的

未安装之前:


[root@xl ~]# docker version
-bash: docker: command not found

在线安装:curl -fsSL https://get.docker.com | bash -s docker

[root@xl ~]# curl -fsSL https://get.docker.com | bash -s docker
# Executing docker install script, commit: 7cae5f8b0decc17d6571f9f52eb840fbc13b2737
+ sh -c 'yum install -y -q yum-utils'
Warning: RPMDB altered outside of yum.
+ sh -c 'yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo'
Loaded plugins: fastestmirror
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
+ '[' stable '!=' stable ']'
+ sh -c 'yum makecache'
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
base                                                                                                                                 | 3.6 kB  00:00:00     
docker-ce-stable                                                                                                                     | 3.5 kB  00:00:00     
epel                                                                                                                                 | 4.7 kB  00:00:00     
extras                                                                                                                               | 2.9 kB  00:00:00     
updates                                                                                                                              | 2.9 kB  00:00:00     
(1/13): docker-ce-stable/7/x86_64/updateinfo                                                                                         |   55 B  00:00:00     
(2/13): docker-ce-stable/7/x86_64/filelists_db                                                                                       |  25 kB  00:00:01     
(3/13): docker-ce-stable/7/x86_64/primary_db                                                                                         |  60 kB  00:00:00     
(4/13): epel/x86_64/prestodelta                                                                                                      | 2.4 kB  00:00:00     
(5/13): docker-ce-stable/7/x86_64/other_db                                                                                           | 118 kB  00:00:01     
(6/13): extras/7/x86_64/filelists_db                                                                                                 | 230 kB  00:00:00     
(7/13): extras/7/x86_64/other_db                                                                                                     | 138 kB  00:00:00     
(8/13): base/7/x86_64/other_db                                                                                                       | 2.6 MB  00:00:07     
(9/13): updates/7/x86_64/other_db                                                                                                    | 555 kB  00:00:01     
(10/13): epel/x86_64/other_db                                                                                                        | 3.4 MB  00:00:09     
(11/13): updates/7/x86_64/filelists_db                                                                                               | 4.2 MB  00:00:12     
(12/13): epel/x86_64/filelists_db                                                                                                    |  12 MB  00:00:18     
(13/13): base/7/x86_64/filelists_db                                                                                                  | 7.2 MB  00:00:22     
Metadata Cache Created
+ '[' -n '' ']'
+ sh -c 'yum install -y -q docker-ce'
warning: /var/cache/yum/x86_64/7/docker-ce-stable/packages/docker-ce-20.10.6-3.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
Public key for docker-ce-20.10.6-3.el7.x86_64.rpm is not installed
Importing GPG key 0x621E9F35:
 Userid     : "Docker Release (CE rpm) <docker@docker.com>"
 Fingerprint: 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35
 From       : https://download.docker.com/linux/centos/gpg
setsebool:  SELinux is disabled.
+ '[' -n 1 ']'
+ sh -c 'yum install -y -q docker-ce-rootless-extras'
Package docker-ce-rootless-extras-20.10.6-3.el7.x86_64 already installed and latest version

================================================================================

To run Docker as a non-privileged user, consider setting up the
Docker daemon in rootless mode for your user:

    dockerd-rootless-setuptool.sh install

Visit https://docs.docker.com/go/rootless/ to learn about rootless mode.


To run the Docker daemon as a fully privileged service, but granting non-root
users access, refer to https://docs.docker.com/go/daemon-access/

WARNING: Access to the remote API on a privileged Docker daemon is equivalent
         to root access on the host. Refer to the 'Docker daemon attack surface'
         documentation for details: https://docs.docker.com/go/attack-surface/

================================================================================

这个时候再次查看docker版本:

[root@xl ~]# docker version
Client: Docker Engine - Community
 Version:           20.10.6
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        370c289
 Built:             Fri Apr  9 22:45:33 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

这个时候需要启动docker 服务:

[root@xl ~]# systemctl start docker
[root@xl ~]# docker version        
Client: Docker Engine - Community
 Version:           20.10.6
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        370c289
 Built:             Fri Apr  9 22:45:33 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.6
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       8728dd2
  Built:            Fri Apr  9 22:43:57 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.4
  GitCommit:        05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc:
  Version:          1.0.0-rc93
  GitCommit:        12644e614e25b05da6fd08a38ffa0cfe1903fdec
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

设置开机启动docker服务:

[root@xl ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@xl ~]# systemctl start docker

===================================

3.docker安装nginx

通过命令行查询:

docker search nginx

下载镜像:

docker pull nginx

这个时候查看docker 下面所有的镜像文件,看到已经有了nginx

docker images

运行容器,绑定端口号:

docker run -p 80:80 --name nginx -d nginx

-- name nginx 表示容器名为nginx

-d 表示后台运行

-p 80:80 表示端口号为80

查看docker 下 启动的容器:

docker ps

访问nginx:

===================================

4.docker安装redis

搜索是否存在redis 镜像

 docker search redis

找到后将其拉取下来

[root@xl ~]# docker pull redis
Using default tag: latest
latest: Pulling from library/redis
f7ec5a41d630: Already exists 
a36224ca8bbd: Pull complete 
7630ad34dcb2: Pull complete 
c6d2a5632e6c: Pull complete 
f1957981f3c1: Pull complete 
42642d666cff: Pull complete 
Digest: sha256:e10f55f92478715698a2cef97c2bbdc48df2a05081edd884938903aa60df6396
Status: Downloaded newer image for redis:latest
docker.io/library/redis:latest

默认是安装的最新版本

这个时候查询docker 下的镜像,就是已经有2个了:

[root@xl ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
redis        latest    739b59b96069   5 days ago    105MB
nginx        latest    62d49f9bab67   12 days ago   133MB

现在运行 redis 容器

[root@xl ~]# docker run -p 6379:6379 --name redis -d redis redis-server /etc/redis/redis.conf
f8aaa34220fb0a1b074107240c3b3dd618d9a5d0c038ddd5042c1b236035cb12

这里的参数说明:

    docker run -d redis   运行 redis 最新镜像,并生成一个容器
    --name redis          容器名为 redis
    -p 6379:6379          指定端口映射,容器的 6379 端口映射到 主机的 6379 端口,
    -v /usr/mydata/redis/conf/redis.conf:/etc/redis/redis.conf   挂载 redis 的配置文件到主机的指定位置
    -v /usr/mydata/redis/conf/data:/data   挂载 redis 的数据到主机的指定位置
    redis-server /etc/redis/redis.conf    表示根据 /etc/redis/redis.conf 配置文件启动。

这个时候启动的容器:

[root@xl ~]# docker ps -a 
CONTAINER ID   IMAGE     COMMAND                  CREATED              STATUS                          PORTS                               NAMES
f8aaa34220fb   redis     "docker-entrypoint.s…"   About a minute ago   Exited (1) About a minute ago                                       redis
41b5362ddc5b   nginx     "/docker-entrypoint.…"   14 minutes ago       Up 14 minutes                   0.0.0.0:80->80/tcp, :::80->80/tcp   nginx

发现现在是成功的启动了redis 和nginx 两个容器

这里redis我运行的时候都是采用的默认配置文件,在控制台关闭后进程就关闭了,我们这里需要先关闭这个容器,再指定配置文件后重新启动

docker container rm [容器名]

[root@xl ~]# docker container rm redis
redis
[root@xl ~]# docker ps -a 
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                               NAMES
41b5362ddc5b   nginx     "/docker-entrypoint.…"   18 minutes ago   Up 18 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   nginx

指定配置文件后,重新启动redis

[root@xl ~]# docker run -p 6379:6379 --name redis      -v /usr/mydata/redis/conf/redis.conf:/etc/redis/redis.conf      -v /usr/mydata/redis/conf/data:/data      -d redis redis-server /etc/redis/redis.conf 
8df69b3f3aa5e2d759d0a5f7f3b2f92866d343fc6fff49eadba5ca4b1cbe0b92
[root@xl ~]# docker ps -a 
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                                       NAMES
8df69b3f3aa5   redis     "docker-entrypoint.s…"   3 seconds ago    Up 2 seconds    0.0.0.0:6379->6379/tcp, :::6379->6379/tcp   redis
41b5362ddc5b   nginx     "/docker-entrypoint.…"   20 minutes ago   Up 20 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp           nginx

接下来 ,进入容器:

[root@xl ~]# docker exec -it redis /bin/bash

客户端链接redis

[root@xl ~]# docker exec -it redis redis-cli
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> 

===================================

5.docker安装jdk

查找jdk

[root@xl ~]# docker search jdk
NAME                                 DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
primetoninc/jdk                      Oracle jdk 1.8, 1.7                             23                   [OK]
ascdc/jdk8                           jdk8                                            15                   [OK]
codenvy/jdk8_maven3_tomcat8          JDK 8, Maven 3, Tomcat 8                        9                    [OK]
ringcentral/jdk                      an alpine Linux image included glibc and Ora…   8                    
codenvy/jdk7_tomcat7                 Dockerfile https://github.com/codenvy/docker…   8                    
gmaslowski/jdk                       Oracle JDK8                                     6                    
openkbs/jdk-mvn-py3                  Java 8/11 OpenJDK + Maven  + Python 3+ pip +…   6                    [OK]
jdkato/vale                          The official Docker image for Vale.             4                    
codenvy/jdk7                         Dockerfile https://github.com/codenvy/docker…   3                    
codenvy/jdk7_vnc                     Dockerfile https://github.com/codenvy/docker…   3                    
openkbs/jdk11-mvn-py3                Java JDK 11 + Maven 3 + Python 3 + Gradle 4     3                    [OK]
codenvy/jdk7_jboss7                  Dockerfile https://github.com/codenvy/docker…   2                    
codenvy/jdk7_jetty9                  Dockerfile https://github.com/codenvy/docker…   2                    
openkbs/jdk-mvn-py                   Java JDK 8 + Maven 3 + Python 2                 1                    [OK]
andonescu/jdk-8-node-docker-gcp      jdk8 node docker gcp                            1                    
payneteasy/jdk-8                     Java 8 for using with gitlab-ci                 1                    [OK]
ukhydrographicoffice/jdk8-python36   Build image that contains bash, jdk 8 and py…   0                    
uquote/jdk8-tomee1.7.3-plume         Apache Tomee Plume with Oracle JDK 8 on Cent…   0                    
dwetzel/jdk-ant                      JDK8 + ANT                                      0                    [OK]
ping2ravi/jdk                        All Java/JDK Versions                           0                    [OK]
payneteasy/jdk-8-js                  jdk-8, maven and javascript                     0                    [OK]
exoplatform/jdk                      JDK image                                       0                    
king019/jdk                          jdk                                             0                    
guligo/jdk-maven-ant                 Tool stack consisting of Oracle JDK, Maven a…   0                    [OK]
wealthsimple/jdk                                                                     0                    

选择其中一个进行安装:

[root@xl ~]# docker pull gmaslowski/jdk  
Using default tag: latest
latest: Pulling from gmaslowski/jdk
ff3a5c916c92: Pull complete 
c49befa8d063: Pull complete 
04e43eaaf859: Pull complete 
cbf302ae34ff: Pull complete 
ddb4a6e345a5: Pull complete 
Digest: sha256:1e3211e1888168d7123c74ad457ea3aa24acba046bfc3c9a87100b46c05a87ab
Status: Downloaded newer image for gmaslowski/jdk:latest
docker.io/gmaslowski/jdk:latest

查看安装是否成功:

[root@xl ~]# docker images
REPOSITORY       TAG       IMAGE ID       CREATED       SIZE
redis            latest    739b59b96069   5 days ago    105MB
nginx            latest    62d49f9bab67   12 days ago   133MB
gmaslowski/jdk   latest    390b58b1be42   2 years ago   174MB
ascdc/jdk8       latest    9f04bbc44406   2 years ago   644MB

运行容器jdk1.8

[root@xl ~]# docker run -di --name=jdk1.8 gmaslowski/jdk
2c41e4607ad4a1d1014bad6a1dcad163dfae974677ece3ee375447a3e2d856e2

进入容器,查询jdk 版本:

[root@xl ~]# docker exec -it jdk1.8 /bin/sh
/ # java -version
java version "1.8.0_172"
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)

===================================

6.docker安装rabbitmq

 

查找 rabbitmq

下载指定版本的rabbitmq

[root@xl ~]# docker pull rabbitmq:3.6.15
3.6.15: Pulling from library/rabbitmq
f2aa67a397c4: Pull complete 
f062288ad968: Pull complete 
8b9469379b84: Pull complete 
5b66af38c756: Pull complete 
2349eb3352c4: Pull complete 
d7fb0dd6e32f: Pull complete 
869ba3a0a942: Pull complete 
b7ac6c7140d2: Pull complete 
dc5d9eda274c: Pull complete 
4b48a2eebbeb: Pull complete 
8a009b580bbb: Pull complete 
Digest: sha256:f5f131a0addde2cd04c88a6feda63c6f1b291fdfc43502b0db4b4e17b43123e9
Status: Downloaded newer image for rabbitmq:3.6.15
docker.io/library/rabbitmq:3.6.15

安装rabbitmq 。因为没有指定版本,就又下载了最新的版本【囧】

重新指定版本安装

 

 

 

参考:

linux(centos 7)上安装,使用docker

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值