后端技术栈:Docker容器应用

(一)安装Docker CE

1. 安装依赖

yum install -y yum-utils device-mapper-persistent-data lvm2

后端技术栈:Docker容器应用_第1张图片

2. 添加aliyun docker-ce yum源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

添加yum源

3. 重建yum缓存

yum clean all
yum makecache

后端技术栈:Docker容器应用_第2张图片

4. 查看可用的docker版本

yum list docker-ce.x86_64 --showduplicates | sort -r

后端技术栈:Docker容器应用_第3张图片

5. 安装指定版本docker

yum install -y docker-ce-20.10.6-* docker-ce-cli-20.10.6-*.x86_64

后端技术栈:Docker容器应用_第4张图片

(二)启动Docker

1. 临时启动Docker

systemctl start docker 

2. 设置开机自动启动

systemctl enable docker

设置开机自动启动

3. 查看Docker运行状态

systemctl status docker

后端技术栈:Docker容器应用_第5张图片

4. 查看Docker容器版本信息

docker version

后端技术栈:Docker容器应用_第6张图片

5. 配置镜像加速器

可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器(参考阿里云官方帮助文档 https://cr.console.aliyun.com/cn-beijing/instances/mirrors )

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

后端技术栈:Docker容器应用_第7张图片

sudo systemctl daemon-reload
sudo systemctl restart docker

6. 下载nginx镜像

docker pull nginx
docker images

后端技术栈:Docker容器应用_第8张图片

7. 启动nginx镜像

docker run -p 80:80 --name my_nginx -d nginx
docker ps -a

启动nginx镜像

8. 通过浏览器访问主机的80端口

后端技术栈:Docker容器应用_第9张图片

9. 进入启动了nginx的Docker容器系统

docker exec -it my_nginx /bin/bash

(三)自定义Dockerfile并构建镜像

1. 编写Dockerfile文件

文件名为Dockerfile,内容如下:

FROM centos:centos7
MAINTAINER myname <[email protected]>
# 安装工具包
RUN yum install -y gcc-c++  pcre pcre-devel zlib zlib-devel openssl openssl-devel
# 安装nginx1.14.2
RUN useradd -M -s /sbin/nologin nginx
COPY ./nginx-1.14.2.tar.gz /opt/
WORKDIR /opt/
RUN tar zxvf nginx-1.14.2.tar.gz
RUN mkdir -p /usr/local/nginx
RUN cd nginx-1.14.2 && ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module  --with-http_sub_module && make && make install
# 设置启动脚本
RUN mkdir -p /opt/work/bin
COPY ./start.sh /opt/work/bin
WORKDIR /opt/work/bin
RUN chmod -R 755 /opt/work/bin
# 定义要暴露的端口
EXPOSE 80
# 启动nginx脚本
CMD ["./start.sh"]

2. 构建自定义镜像

下载需要的nginx-1.14.2源码包

wget http://nginx.org/download/nginx-1.14.2.tar.gz

创建start.sh文件,文件内容如下:

 #!/bin/bash 
/usr/local/nginx/sbin/nginx -g "daemon off;"

构建镜像(注意命令后面有个“点”)

docker build -t my-nginx-server . 
docker images

3. 启动容器

docker run -p 8080:80 --name my_nginx2 -d my-nginx-server
docker ps -a

你可能感兴趣的:(#,后端技术栈,笔记,docker,容器,运维)