Dockerfile安装nginx

1.新建并进入docker_demo文件夹

2. wget http://nginx.org/download/nginx-1.17.2.tar.gz

新建文件Dockerfile内容:

# base image
FROM centos

# MAINTAINER
MAINTAINER 1406563994@qq.com.com

# put nginx-1.17.2.tar.gz into /usr/local/src and unpack nginx
ADD nginx-1.17.2.tar.gz /usr/local/src

# running required command
RUN yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel
RUN yum install -y libxslt-devel -y gd gd-devel  pcre pcre-devel
RUN useradd -M -s /sbin/nologin nginx

VOLUME ["/data"]

# change dir to /usr/local/src/nginx-1.17.2
WORKDIR /usr/local/src/nginx-1.17.2

# execute command to compile nginx
RUN ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-file-aio --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module  --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_stub_status_module && make && make install

ENV PATH /usr/local/nginx/sbin:$PATH

EXPOSE 80

ENTRYPOINT ["nginx"]

CMD ["-g"]



3.构建

docker build -t centos_nginx_v1:v1 .

4.启动

docker run -d -p 80:80 --name=centos_nginx_v1 centos_nginx_v1:v1 -g "daemon off;"

5.浏览器访问80端口

centos8安装docker

1.下载docker-ce的repo

curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo

2.安装依赖(这是相比CentOS 7的关键步骤

yum install https://download.docker.com/linux/Fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm

3.安装docker-ce

yum install docker-ce

4.启动docker

systemctl start docker

参考地址:https://www.linuxprobe.com/centos81-install-docker.html

docker对外映射端口,推送镜像

1.如果docker服务已经创建,但需要新增对外端口,可执行如下操作:

停止:                                            docker stop mongos
将容器commit成为一个镜像:docker commit mongos yang_mongos
删除原来docker:                      docker rm mongos
增加端口映射 :     docker run -it -d –name mongos -p 27017:27017 yang_mongos

2.把镜像推到远端服务器 ,首先需要有docker账户,地址https://hub.docker.com

命名规范 docker服务器username/镜像名称 如下

docker commit config_server2 chunleiyang/config_server2
docker login
docker push chunleiyang/config_server2

登录查看,推送成功

3.其他

推送镜像到服务器报:denied: requested access to the resource is denied

原因及解决:

1.未登录  ,需docker login

2.镜像命不符合规范 ,改为docker服务器username/镜像名称

或打标签:docker tag oldRepositoryName:oldTag user/rep:18.04

 

docker下使用redis配置文件启动

下载redis.conf文件到本地目录

/usr/local/docker/redis

修改 vim redis.conf

bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问

protected-mode no #默认yes,开启保护模式,限制为本地访问

daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败

databases 16 #数据库个数(可选),我修改了这个只是查看是否生效。。

dir  ./ #输入本地redis数据库存放文件夹(可选)

appendonly yes #redis持久化(可选)

映射到docker,启动redis

[root@localhost /]# docker run -p 6379:6379 --name redis6 -v /usr/local/docker/redis/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

说明:
--appendonly yes 开启redis 持久化

 

docker安装应用

1,root账户登录,查看内核版本如下

 [root@localhost ~]# uname -a

2,把yum包更新到最新

 [root@localhost ~]# yum update
3,安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
4,设置yum源
 [root@localhost ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

5,可以查看所有仓库中所有docker版本,并选择特定版本安装

[root@localhost ~]# yum list docker-ce --showduplicates | sort -r

6,安装Docker,命令:yum install docker-ce-版本号,在这一步可能会报错

错误信息:问题: package docker-ce-3:19.03.12-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
可以换一个版本试试
[root@localhost ~]# yum install docker-ce-17.12.1.ce
或者换成其他版本
[root@localhost ~]# yum install -y docker-ce-18.06.3.ce-3.el7 -q
7, 启动Docker,命令:systemctl start docker,然后加入开机启动,如下
[root@localhost ~]# systemctl start docker

8,验证安装是否成功(有client和service两部分表示docker安装启动都成功了

[root@localhost ~]# docker version

继续阅读“docker安装应用”