创建redis目录,编写Dockerfile
进入redis目录,编写Dockerfile,拉取redis软件包
[root@localhost redis]# ls
Dockerfile redis-4.0.9.tar.gz
[root@localhost redis]# cat Dockerfile
FROM local/c7-systemd:latest
ADD redis-4.0.9.tar.gz /usr/local/
RUN mv /usr/local/redis-4.0.9/ /usr/local/redis
WORKDIR /usr/local/redis/
RUN yum install -y gcc make && make && cp redis.conf redis.conf.bak
RUN echo -e "bind 0.0.0.0 \n daemonize yes \n port 6379 \n dir /usr/local/redis/data" > /redis.conf && mkdir /usr/local/redis/data
RUN echo -e "[Unit] \n Description=Redis \n After=network.target \n [Service] \n ExecStart=/data/application/redis/src/redis-server /usr/local/redis.conf --daemonize no \n ExecStop=/usr/local/redis/src/redis-cli -h 127.0.0.1 -p 6379 shutdown \n [Install] \n WantedBy=multi-user.target" > /lib/systemd/system/redis.service && systemctl daemon-reload && systemctl start redis
CMD ["init"]
创建redis镜像
[root@localhost redis]# docker build -t redis .
查看镜像
[root@localhost redis]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
redis latest a56897c2c933 13 hours ago 618MB
创建容器并运行
[root@localhost redis]# docker run --privileged=true -tid -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 6379:6379 redis:latest
进入容器,redis已启动
[root@localhost redis]# docker exec -it practical_bose /bin/bash
[root@81696cef4447 redis]# ps -ef | grep redis
root 71 1 0 02:41 ? 00:00:02 /usr/local/redis/src/redis-server 127.0.0.1:6379
root 95 78 0 03:20 pts/2 00:00:00 grep --color=auto redis
[root@81696cef4447 redis]# systemctl status redis
● redis.service - Redis
Loaded: loaded (/usr/lib/systemd/system/redis.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2021-03-16 02:41:49 UTC; 38min ago
Main PID: 71 (redis-server)
CGroup: /docker/81696cef444705bacc4a0c6e33bb8719ed6066b66dc880870c9b9c974518f331/system.slice/redis.service
└─71 /usr/local/redis/src/redis-server 127.0.0.1:6379
Mar 16 02:41:49 81696cef4447 redis-server[71]: | `-._`-._ _.-'_.-' |
Mar 16 02:41:49 81696cef4447 redis-server[71]: `-._ `-._`-.__.-'_.-' _.-'
Mar 16 02:41:49 81696cef4447 redis-server[71]: `-._ `-.__.-' _.-'
Mar 16 02:41:49 81696cef4447 redis-server[71]: `-._ _.-'
Mar 16 02:41:49 81696cef4447 redis-server[71]: `-.__.-'
Mar 16 02:41:49 81696cef4447 redis-server[71]: 71:M 16 Mar 02:41:49.117 # WARNING: The TCP backlog setting of 511 cannot be enforced becaus... of 128.
Mar 16 02:41:49 81696cef4447 redis-server[71]: 71:M 16 Mar 02:41:49.117 # Server initialized
Mar 16 02:41:49 81696cef4447 redis-server[71]: 71:M 16 Mar 02:41:49.117 # WARNING overcommit_memory is set to 0! Background save may fail u... effect.
Mar 16 02:41:49 81696cef4447 redis-server[71]: 71:M 16 Mar 02:41:49.117 # WARNING you have Transparent Huge Pages (THP) support enabled in your ker...
Mar 16 02:41:49 81696cef4447 redis-server[71]: 71:M 16 Mar 02:41:49.117 * Ready to accept connections
Hint: Some lines were ellipsized, use -l to show in full.