NAT模式
虚拟机联网
能够ping通www.baidu.com
安装
1、安装yum工具
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
2、更新本地镜像源
# 设置docker镜像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
3、安装Docker
yum install -y docker-ce
4、关闭防火墙
# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
5、启动Docker(关闭、重启)
systemctl start docker # 启动docker服务
# 停止docker服务
systemctl stop docker
# 重启docker服务
systemctl restart docker
6、查看docker版本
docker -v
7、配置镜像加速器(阿里)
加速文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://fnn9a8it.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
Nginx
1、Docker pull 拉取镜像实现服务
docker pull nginx
docker run -d -p 80:80 nginx 运行该nginx实例
或docker run -d -p 8080:80 nginx 当然你也可以运行该nginx实例在另一个端口
补充:删除多余的运行容器,删除镜像(选)
#f66 为CONTAINER ID的前三位
docker stop f66
docker rmi df1
2、查看容器运行信息、查看本地镜像
docker ps #查看容器运行信息
docker images #查看本地镜像
3、修改nginx配置文件
通过dockerHub官网,nginx的html文件的路径在/usr/share/nginx/html中,nginx的配置文件主要在/etc/nginx/nginx.conf中
# 首先创建相应的文件夹
mkdir -p \
/tmp/nginx/html \
/tmp/nginx/conf
# 复制配置文件和文件夹到宿主机指定目录,注意,这里一定要保证你的nginx容器已经运行
docker cp xmf:/etc/nginx/nginx.conf /tmp/nginx/conf/
docker run \
--name xmf \
-d \
-v /tmp/nginx/html:/usr/share/nginx/html \
-v /tmp/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-p 80:80 \
nginx
gedit /tmp/nginx/conf/nginx.conf
需要修改的内容:注释并添加
#include /etc/nginx/conf.d/*.conf;
server {
listen 80;
server_name xmfdocker;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
#nginx.conf文件内容
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
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;
server {
listen 80;
server_name xmfdocker;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
}
在/tmp/nginx/html目录下添加index.html文件
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Dokcer</title>
<style>
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
</style>
</head>
<body>
<h1 style="text-align: center;">姓名:张氏</h1>
<h2 style="text-align: center;">学号:2123</h2>
</body>
</html>
docker ps
docker exec -it <container_id> bash
service nginx restart
docker start xmf
补充指令:docker运用nginx:(根据自己的情况选用)
# 启动现有的容器:name:xmf
docker start xmf
# 创建新的容器
docker run -d --name xmf2 -p 80:80 nginx
# 删除现有的容器:name:xmfdocker rm -f xmf
# 进入正在运行的容器:
docker exec -it <container_id> bash
# 重新启动Nginx服务
service nginx restart
用网页打开:127.0.0.1:80
Dockerfile
1、编写一个Dockerfile
# 新建文件夹
mkdir baseos
cd baseos
# 创建dockerfile文件
touch dockerfile
#内容:
FROM centos:7
MAINTAINER abc <abc@126.com> #填写自己的邮箱和名字
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim net-tools
EXPOSE 80
CMD /bin/bash
# 下面执行build命令生成image文件
docker build -t mycentos:1.0 .
2、查看新生成的镜像文件、查看镜像构建过程
# 通过docker images来查看新生成的镜像文件
docker images
# 查看镜像构建过程
docker history eb5157e37f3c
3、进入容器,执行ifconfig
# 进入容器,看看是否能够执行ifconfig 及vim命令
docker run -it mycentos:1.0
ifconfig
# 退出 exit
上传镜像
1、注册docker账号、创建docker Hub(需要魔法)
https://hub.docker.com/、 https://registry.hub.docker.com/
2、登录docker
docker login
# 登出、退出
docker logout
3、在docker账号下构建带有ID的镜像
# 最后面的“.”是必须要的
docker build -t fanlier/mycentos:1.0 .
#格式为: dockerId/镜像名:标签 .
4、推送到远程仓库
# 格式: dockerId/镜像名:标签
docker push fanlier/mycentos:1.0