一、上一篇已经完成了docker的基础环境搭建,和docker的安装。不清楚的小伙伴可以自己找上一篇看一下。本例以部署nginx为例展示
二、镜像相关
1、切换docker的镜像源为阿里云
命令:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://t9kgn1fb.mirror.aliyuncs.com”]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
注:
docker默认拉取镜像是国外的仓库,很慢,这里切换成阿里云的仓库,可以优化速度。上一篇有一个配置yum源的方法(yum是下载安装软件的),这里是配置docker镜像源的方法(下载docker镜像用的),不要搞混了。
命令说明:
创建/etc/docker文件夹
创建daemon.json文件,写入以下内容
{
“registry-mirrors”: [“https://t9kgn1fb.mirror.aliyuncs.com”]
}
重新加载系统配置文件
重新启动docker服务
2、拉取nginx的镜像
命令:docker pull nginx
注:
(1)、默认拉取最新版本,如果想要指定版本,使用如下命令:
docker pull nginx:1.16.1
(2)、镜像的版本和使用我们怎么知道呢?
docker仓库网址:
https://hub-stage.docker.com/_/nginx
使用上面的仓库地址,可以查询组件版本,获取镜像拉取命令,获取如何使用和启动镜像以及修改配置和配置说明等信息
3、查看docker镜像
命令:docker images
4、删除指定镜像
命令:docker rmi nginx:latest
5、镜像压缩成tar包
将镜像压缩成tar包,可以用于镜像迁移,在其他服务器上可以通过导入tar的方式获取镜像。
如下命令生成的tar会保存到当前目录下
命令:docker save -o nginx_latest.tar nginx:latest
6、通过tar加载镜像
docker load -i nginx_latest.tar
三、容器相关
1、启动nginx服务
docker run --name nginx_1 -p 80:80 -d nginx:latest
注:
docker run为启动容器的指令
–name指定容器的名称(后面很多命令都是基于这个容器名称的)
-p指定宿主机和容器的对应端口。(左为宿主机,右为容器)
-d是指定后台启动(建议都加,不然退出就直接停止了当前服务)
nginx:latest 为指定镜像及版本
返回的为进程id
2、查看docker运行的进程
命令:docker ps
3、通过浏览器访问nginx
192.169.249.88:80
4、查看docker运行nginx的日志
命令:docker logs nginx_1
注:
查看日志需要指定进程的名称,即使启动时通过–name指定的名称。可以通过docker ps查看到。
如果想要实时监控滚动中的日志,可以使用如下:
docker logs -f nginx_1
5、终止进程运行
命令:docker stop nginx_1
注:
通过上面的stop 命令仅可以停止运行进行,但不会删除运行的容器(可以理解停止tomcat服务,但是没有删除tomcat)。如果还是以相同的名称创建容器和启动就会报错。
处理办法:
(1)、继续用这个容器运行
docker start nginx_1
需要知道记住之前启动时的相关参数
(2)、删除这个容器,之后重新docker run在重新创建和运行
docker rm -f nginx_1
(3)、给这个容器重命名,之后重新docker run在创建和运行
docker rename nginx_1 nginx_2
推荐使用上的1或2方法,3方法容易造成资源浪费。
6、进入容器内部
命令:docker exec -it nginx_1 bash
注:
只有容器启动后,才可以进入
7、退出容器内部
exit
以上就完成了docker部署nginx的基本示例。
学海无涯苦作舟!!!