一、安装docker
- 更新系统包列表:
sudo apt-get update
- 安装必要的依赖软件包,使apt可以通过HTTPS使用repository。
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
- 添加Docker的阿里云GPG密钥:
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- 添加Docker的阿里云APT repository:
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- 更新系统包列表:
sudo apt-get update
- 安装Docker CE(Community Edition):
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
或者:
这里的–mirror Aliyun是指定阿里云为镜像源
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
- 启动Docker服务:
sudo systemctl enable docker #设置开机自启
sudo systemctl start docker
- 验证Docker是否安装成功:
sudo docker --version
或者可以运行
sudo docker run --rm hello-world
二、配置国内镜像源
运行命令写入json文件,这里配置网易和百度云两个镜像加速器
sudo vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
重启docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker
三、测试运行docker-nginx
先把nginx镜像拉取到本地
docker pull nginx
运行,-p 80:80表示端口映射,–name指定运行nginx的名字,如果不指定后续操作不方便。
docker run --name docker-nginx -p 80:80 nginx
此时浏览器访问127.0.0.1:80即可看到正处于交互模式运行的nginx的页面。
键入Ctrl+C停止运行,docker rm docker-nginx
删除容器。
然后添加-d参数再次运行,此时处于分离状态运行nginx容器。
docker run --name docker-nginx -p 80:80 -d nginx
用ps命令能够看到一些相关的nginx信息
然后运行docker stop docker-nginx以及docker rm docker-nginx停止以及删除刚才运行的nginx容器。
四、构建一个自定义的nginx服务网页
新建一个关于nginx网页的目录
mkdir -p ~/docker-nginx/html
vim 命令在这目录下新建一个html文件
<html>
<head>
<title>Docker nginx</title>
</head>
<body>
<div class="container">
<h1>This is a test</h1>
<p>This Nginx page is created by docker</p>
</div>
</body>
</html>
然后把容器链接到这个文件
docker run --name docker-nginx -p 80:80 -d -v ~/docker-nginx/html:/usr/share/nginx/html nginx
然后重新访问127.0.0.1:80则有新的页面
五、使用自己的配置文件来运行nginx容器
回到刚才的自定义的目录~/docker-nginx把配置文件复制过来
docker cp docker-nginx:/etc/nginx/conf.d/default.conf default.conf
停止容器并且删除
docker stop docker-nginx
docker rm docker-nginx
编辑刚才复制过来的配置文件,保存后运行nginx容器。
docker run --name docker-nginx -p 80:80 -v ~/docker-nginx/html:/usr/share/nginx/html -v ~/docker-nginx/default.conf:/etc/nginx/conf.d/default.conf -d nginx
后续对配置文件进行修改后,需要docker restart docker-nginx
重启容器,因为对其修改不会热重载到浏览器里。