注意要先安装部署好docker , 并且设置好下载源
注意Ubuntu的包管理工具是apt-get,所以不必再安装yum。如果要安装其他包需要使用apt-get命令。
# 查看安装的docker版本
docker -v
su - root
# 接着输入密码 , 我这是 root
root
# 如果出现 su: Authentication failure
# 输入 sudo -i
# 再输入密码
docker rm $(docker ps -a -q)
# nano 文件名
nano index.html
# 编辑完成后按 Ctrl+X保存退出
# 部分文件编辑完成后需要按 y + enter 确定保存退出
# 下载工具
apt install net-tools
# 查询 ip
ifconfig
root@ubuntu:~# ifconfig
ens33: flags=4163 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
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 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
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
cd .. 回当前目录的上一级目录
cd - 回上一次所在的目录
cd ~ 或 cd 回当前用户的宿主目录
mkdir 目录名 创建一个目录
rmdir 空目录名 删除一个空目录
rm 文件名 文件名 删除一个文件或多个文件
rm -rf 非空目录名 删除一个非空目录下的一切
mv 路经/文件 /经/文件移动相对路经下的文件到绝对路经下
mv 文件名 新名称 在当前目录下改名
find 路经 -name “字符串” 查找路经所在范围内满足字符串匹配的文件和目录
clear 清空控制台
exit 退出
ls 查看该目录下的东西
apt-get update
apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
# 如果成功 输入 y 确定
# 如果报错再执行一次 apt-get update
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get install docker-ce docker-ce-cli containerd.io
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)
...... 省略
不装的话,下载速度十分惹人喜爱
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
docker search mysql
docker pull mysql:5.6
# 在/root目录下创建mysql目录用于存储mysql数据信息
mkdir ~/mysql
cd ~/mysql
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
参数说明:
docker exec –it c_mysql /bin/bash
主机打开 Navicat (只要是数据库软件就行)
左上角点击连接
连接名 : 随意
主机 : 上述虚拟机对应的主机ip
端口 : 3307
用户名 : root
密码 : 123456
# 点击测试 ,连接成功即完成
docker search tomcat
docker pull tomcat
# 在/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
在该目录下 root@ubuntu:~/tomcat#
创建文件夹 webapps # mkdir webapps
进入该文件夹 # cd webapps
创建并编辑一个html文件 # nano index.html
-- 编辑输入 --
hello 三块不一样的石头
-- CTRL + X , 点y+回车保存退出
主机打开浏览器
搜索 虚拟机ip:8080:webapps/index.html
# 显示出 hello 三块不一样的石头 表示成功
docker search nginx
docker pull nginx
# 在/root目录下创建nginx目录用于存储nginx数据信息
mkdir ~/nginx
cd ~/nginx
mkdir conf
cd 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;
}
--
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
# 当前目录 root@ubuntu:~/nginx#
cd html
nano index.html
-- 编写内容 --
任意html
-- 保存退出
# 打开浏览器
查询连接 虚拟机ip地址/index.html
出现页面即成功