虚拟机docker安装与部署(ubnutu)

docker 部署任务 (ubuntu版)

注意要先安装部署好docker , 并且设置好下载源

注意Ubuntu的包管理工具是apt-get,所以不必再安装yum。如果要安装其他包需要使用apt-get命令。

# 查看安装的docker版本
docker -v

一、重要语句提示

1. 升级权限

su - root
# 接着输入密码 , 我这是 root
root
# 如果出现 su: Authentication failure
# 输入 sudo -i 
# 再输入密码

2. 删除所有未运行的容器

docker rm $(docker ps -a -q)

3. 打开并编辑文件

# nano 文件名
nano index.html
# 编辑完成后按 Ctrl+X保存退出
# 部分文件编辑完成后需要按 y + enter 确定保存退出

4. 查看虚拟机对应的主机 ip

#  下载工具
apt install net-tools
#  查询 ip
ifconfig
root@ubuntu:~# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.29.131  netmask 255.255.255.0  broadcast 192.168.29.255 # 通常是 这个位置的ip ,我这里是 192.168.29.131 , 如果不是的话一个一个试过来就行了
        inet6 fe80::d58d:890:5b04:2748  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:97:65:ec  txqueuelen 1000  (Ethernet)
        RX packets 1866  bytes 2250972 (2.2 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 851  bytes 79124 (79.1 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0  
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 226  bytes 19716 (19.7 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 226  bytes 19716 (19.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

5. 基础操作

cd .. 回当前目录的上一级目录
cd - 回上一次所在的目录
cd ~ 或 cd 回当前用户的宿主目录
mkdir 目录名 创建一个目录
rmdir 空目录名 删除一个空目录
rm 文件名 文件名 删除一个文件或多个文件
rm -rf 非空目录名 删除一个非空目录下的一切
mv 路经/文件 /经/文件移动相对路经下的文件到绝对路经下
mv 文件名 新名称 在当前目录下改名
find 路经 -name “字符串” 查找路经所在范围内满足字符串匹配的文件和目录
clear 清空控制台
exit 退出
ls 查看该目录下的东西

二、docker安装与镜像加速

1. apt-get 包更新到最新

apt-get update

2. 安装docker依赖环境

apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
# 如果成功 输入 y 确定
# 如果报错再执行一次 apt-get update

3. 安装证书

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

4. 写入软件源信息

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

5. 安装docker

sudo apt-get install docker-ce docker-ce-cli containerd.io

6. 测试安装是否成功

sudo docker run hello-world 
# 会出现类似以下内容
Unable to find image 'hello-world:latest' locally
^[[Alatest: Pulling from library/hello-world
719385e32844: Pull complete 
Digest: sha256:fc6cf906cbfa013e80938cdf0bb199fbdbb86d6e3e013783e5a766f50f5dbce0
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
...... 省略

7. 镜像下载加速

不装的话,下载速度十分惹人喜爱

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://o4j7xchr.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

三、 部署 mysql

1. 部署 MYSQL

docker search mysql

2. 拉取 MYSQL 镜像

docker pull mysql:5.6

3. 创建容器并设置端口、目录映射

# 在/root目录下创建mysql目录用于存储mysql数据信息
mkdir ~/mysql
cd ~/mysql

4. 运行容器

docker run -id \
-p 3307:3306 \
--name=c_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.6

参数说明:

  • -p 3307:3306:将容器的 3306 端口映射到宿主机的 3307 端口。
  • -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。配置目录
  • -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。日志目录
  • -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。数据目录
  • **-e MYSQL_ROOT_PASSWORD=123456:**初始化 root 用户的密码。

5. 进入容器操作 mysql

docker exec –it c_mysql /bin/bash

6. 主机测试是否部署成功

主机打开 Navicat (只要是数据库软件就行)

左上角点击连接

连接名 : 随意
主机 : 上述虚拟机对应的主机ip
端口 : 3307
用户名 : root
密码 : 123456
# 点击测试 ,连接成功即完成

四、 部署 tomcat

1. 搜索tomcat镜像

docker search tomcat

2. 拉取tomcat镜像

docker pull tomcat

3. 创建容器,设置端口映射、目录映射

# 在/root目录下创建tomcat目录用于存储tomcat数据信息
mkdir ~/tomcat
cd ~/tomcat
docker run -id --name=c_tomcat \
-p 8080:8080 \
-v $PWD:/usr/local/tomcat/webapps \
tomcat  

参数说明:

  • **-p 8080:8080:**将容器的8080端口映射到主机的8080端口

    **-v $PWD:/usr/local/tomcat/webapps:**将主机中当前目录挂载到容器的webapps

4. 创建测试文件

在该目录下 root@ubuntu:~/tomcat# 
创建文件夹 webapps # mkdir webapps
进入该文件夹 # cd webapps
创建并编辑一个html文件 # nano index.html
-- 编辑输入 --
<head></head>
<body><h1> hello 三块不一样的石头 </h1> </body>
-- CTRL + X , 点y+回车保存退出 

5. 测试是否部署成功

主机打开浏览器
搜索 虚拟机ip:8080:webapps/index.html
# 显示出 hello 三块不一样的石头 表示成功

五、 部署 nginx

1. 搜索nginx镜像

docker search nginx

2. 拉取nginx镜像

docker pull nginx

3. 创建容器,设置端口映射、目录映射

# 在/root目录下创建nginx目录用于存储nginx数据信息
mkdir ~/nginx
cd ~/nginx
mkdir conf
cd conf

4. 设置 nginx.conf文件

# 在目录 ~/nginx/conf/ 下
打开并创建文件nginx.conf # nano nginx.conf
并将以下内容写入
--
user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}
--

5. 创建容器

cd.. # 先退出conf文件夹
docker run -id --name=c_nginx \
-p 80:80 \
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \
-v $PWD/logs:/var/log/nginx \
-v $PWD/html:/usr/share/nginx/html \
nginx

6. 编写测试文件

# 当前目录 root@ubuntu:~/nginx# 
cd html
nano index.html
-- 编写内容 --
任意html
-- 保存退出

7. 测试是否部署成功

# 打开浏览器
查询连接 虚拟机ip地址/index.html
出现页面即成功
  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三块不一样的石头

十分满意,一分打赏~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值