Docker的使用入门

这篇博客详细介绍了Docker的安装过程,包括虚拟机设置、Docker的安装与验证,以及如何在Docker中安装Oracle数据库。同时,讲解了Docker常用命令,如搜索、下载和管理镜像,以及容器的创建、启动和管理。此外,还涵盖了通过Dockerfile构建镜像,IDEA配置Docker直连的方法,以及在Docker中安装和配置Oracle的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、安装虚拟机

1,安装vm workStation15或16。安装CentOs7或以上。要求centOS内核高于3.10

uname -r 查看内核版本

2,root权限登记,更新yum

yum -y update 

3,卸载旧版本,安装新版本

yum remove docker docker-common docker-selinux docker-engine

4,安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

yum install -y yum-utils device-mapper-persistent-data lvm2

5,设置yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

如果想安装docker-ce可以使用国内yum源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

如果安装出错,可以删除.repo文件 在cd /etc/yum.repos.d路径下

6,查看仓库的docker版本

yum list docker-ce --showduplicates | sort -r

7,安装Docker

sudo yum install -y docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版18

8,启动并开机启动

systemctl start docker
systemctl enable docker

9,验证安装

docker version

10,卸载

yum -y remove docker-engine

11,centOS7配置静态IP地址

vi /etc/sysconfig/network-scripts/ifcfg-ens32 #名称可能不是32

若设置静态IP
修改

bootproto=static
onboot=yes

添加
(AAA需要与虚拟网卡同网段)

IPADDR=192.168.AAA.XXX
NETMASK=255.255.255.0
GATEWAY=192.168.AAA.1
DNS1=114.114.114.114
DNS2=8.8.8.8
systemctl restart network #重置网络

二、Docker常用命令

1,搜索镜像

docker search java
  • NAME:镜像仓库名称。
  • DESCRIPTION:镜像仓库描述。
  • STARS:镜像仓库收藏数,表示该镜像仓库的受欢迎程度,类似于 GitHub的 stars
  • OFFICAL:表示是否为官方仓库,该列标记为[0K]的镜像均由各软件的官方项目组创建和维护。
  • AUTOMATED:表示是否是自动构建的镜像仓库。
cd /etc/docker

#需要修改或新建daemon.json

vim daemon.json
{
  "registry-mirrors": ["https://m9r2r2uj.mirror.aliyuncs.com"]
}

#如果有修改,需要重启

service docker restart

2,下载镜像(名称:版本号格式)

docker pull java:8

3,列出镜像

docker images

4,删除镜像

docker rmi java

三、容器命令

1,新建并启动容器

docker run -d -p 91:80 nginx
  • -d 后台运行
  • -p 宿主机端口:容器端口 #开放容器端口到宿主机端口

2,列出容器

docker ps

#STATUS:表示容器运行的状态。UP表示运行中, Exited表示已停止

3,停止、强制停止、启动、查看、日志容器

docker stop XXXID #停止
docker kill XXXID #强制停止
docker start XXXID #启动
docker inspect XXXID #查看
docker container logs XXXID #查看日志
docker top XXXID #查看进程
docker container exec -it XXXID/bin/bash #进入容器文件

四、使用Dockerfile构建

1,上传jar包到指定目录

cd /app/demo #进入目录
vim Dockerfile #同目录下创建配置文件

2,配置文件格式

From java:8
ADD XXX.jar /app.jar
EXPOSE XXXX
ENTRYPOINT ["java","-jar","/app.jar"]

配置文件分别表示

  • 运行的镜像
  • 复制指定文件
  • 声明端口 如 EXPOSE 8761
  • 容器启动后执行的命令

3,构建镜像

docker build -t microservice-name:0.0.1 .
docker build -t 镜像名:版本标签 Dockerfile文件相对位置

4,启动镜像

docker run -p 8761:8761 microservice-name:0.0.1

五、IDEA配置Docker直连

1,配置docker的远程端口

vi /usr/lib/systemd/system/docker.service

#找到ExecStart 最后添加 -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock(-H前面有空格)

2,重启docker

systemctl daemon-reload
systemctl start docker

3,开放端口

firewall-cmd --zone=public --add-port=2375/tcp --permanent
firewall-cmd --reload立即生效

4,idea上配置docker远程连接
view-services
选择添加docker连接
TCP socket 输入ip+port

六、Docker里安装Oracle

1、搜索镜像

docker search oralce

2、拉取镜像

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

3、启动

docker run -d -p 1521:1521 --name oracle registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

docker start oracle

4、设置用户信息

docker exec -it oracle_11g bash

登录sqlplus,此处发现sqlplus命令不可用,所以需要进行相关配置,操作步骤如下:
(1)、切换到root用户模式下

su root
输入密码helowin

(2)、编辑profile文件配置ORACLE环境变量
(如果找不到sqlplus,请在这执行完输入:source /etc/profile

vi /etc/profile 并在文件最后添加如下命令
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
退出并保存。

(3)、软连接

ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

(4)、切回Oracle用户
登录sqlplus并修改sys、system用户密码

sqlplus /nolog
conn /as sysdba
接着执行下面命令
alter user system identified by oracle;
alter user sys identified by oracle;
#oracle关闭和重启:shutdown immediate,startup

(5)、查看连接信息

   vi /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/tnsnames.ora 

HELOWIN =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = helowin)
)
)

5、使用PL/Sql连接,新建用户并赋权

create user UOP_BASE identified by UOP_BASE;
grant connect,resource,dba to UOP_BASE;

七、idea+gradle本地打可执行的jar包

1、在项目的build.gradle文件的最后加上如下代码

jar {
    String someString = ''
    configurations.runtime.each {someString = someString + " lib//"+it.name}
    manifest {
        attributes 'Main-Class': 'xyz.rl2jy.vueadmin.VueadminApplication'
        attributes 'Class-Path': someString
    }
}
//清除上次的编译过的文件
task clearPj(type:Delete){
    delete 'build','target'
}
task copyJar(type:Copy){
    from configurations.runtime
    into ('build/libs/lib')
}
//把JAR复制到目标目录
task release(type: Copy,dependsOn: [build,copyJar]) {
// from 'conf'
// into ('build/libs/eachend/conf') // 目标位置
}

2、在gralde插件的other里运行任务release即可看到build/libs里的jar包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值