前言:
当前我们对“centos7dockerredis”大概比较关注,看官们都想要学习一些“centos7dockerredis”的相关文章。那么小编在网络上搜集了一些对于“centos7dockerredis””的相关资讯,希望姐妹们能喜欢,小伙伴们一起来了解一下吧!1.把yum包更新到最新(生产环境谨慎)
yum update
2.安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
3. 设置yum源
yum-config-manager --add-repo
Loaded plugins: fastestmirror
adding repo from:
grabbing file to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
4,可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
5.安装Docker,命令:yum install docker-ce-版本号,我选的是18.03.1.ce-1.el7.centos,如下
yum install docker-ce-18.03.1.ce-1.el7.centos
6. 启动Docker,命令:
systemctl start docker
然后加入开机启动,如下:
systemctl start docker
systemctl enable docker
7,验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
Client:
Version: 18.03.1-ce
API version: 1.37
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:20:16 2018
OS/Arch: linux/amd64
Experimental: false
Orchestrator: swarm
Server:
Engine:
Version: 18.03.1-ce
API version: 1.37 (minimum version 1.12)
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:23:58 2018
OS/Arch: linux/amd64
Experimental: false
8.docker常用命令
(1)启动docker
systemctl start docker.service
(2)停止docker
systemctl stop docker
(3)查看当前docker状态
systemctl status docker
(4) 拉取镜像
从 docker hub 拉取
下面的例子将从Docker Hub 仓库下载一个 Tomcat 7 版本的服务器镜像。
docker pull tomcat:7
这是docker默认的公用仓库,不过缺点是国内下载会比较慢。
(5)镜像加速 :从 ustc 拉取(建议使用)
在宿主机器编辑文件:
vi /etc/docker/daemon.json
请在该配置文件中加入(没有该文件的话,请先建一个):
{
"registry-mirrors":[";]
}
"registry-mirrors":[";] 阿里云
最后,需要重启 docker 服务
systemctl restart docker
docker search tomcat
(6)删除镜像
docker rmi hello-world
docker rmi -f hello-world 强制
docker rmi -f$(docker image -q)
(7)启动交互式容器
docker run -it --name centos (centos 为镜像名称)
docker run -it --name 0f3e07c01...(镜像ID) -
(8)启动后台守护容器
docker run -d --name 0f3e07c01...(镜像ID)
docker run -d centos /bin/sh -c "while true;do echo hello world;sleep 2;done"
docker logs -t -f 容器id
(9)退出容器 exit
(10)其他
docker inspect 容器id
docker exec -it 容器id /bin/bash
docker exec -it 容器id ls -l /tmp
docker ps 查看运行中的容器
docker start/stop/kill 容器名称 或id
docker cp 容器id:/tmp/yum.log /root
docker run -it -p 8888:8080 centos
进入交互 docker exec -it 容器id /bin/bash
(11)容器数据卷
命令添加 dockerfile
1.docker run -it -v /myData:/myDockerdata centos
2.dockerfile
from centos
VOLUME ["/myData1","/myData2"]
CMD echo “finished,------success1”
CMD /bin/bash
dockerfile 创建容器
docker build -f /mydocker/Dockerfile -t tanchao/centos .
docker run -it --name dc01 zzyy/centos
volumes-from容器间传递共享
docker run -it --name dc02 --volumes-from dc01 tanchao/centos
dockerfile 样例
保留字
RUN RUN groupadd -r -g 999 redis && useradd -r -g redis -u 999 redis
EXPOSE 端口
CMD / ENTRYPOINT
centos
FROM scratch
ADD centos-7-x86_64-docker.tar.xz /
LABEL org.label-schema.schema-version="1.0" \
org.label-schema.name="CentOS Base Image" \
org.label-schema.vendor="CentOS" \
org.label-schema.license="GPLv2" \
org.label-schema.build-date="20191001"
CMD ["/bin/bash"]
FROM scratch
ADD centos-7-docker.tar.xz /
LABEL org.label-schema.schema-version = "1.0" \
org.label-schema.name="CentOS Base Image" \
org.label-schema.vendor="CentOS" \
org.label-schema.license="GPLv2" \
org.label-schema.build-date="20180531"
CMD ["/bin/bash"]
redis
FROM debian:buster-slim
# add our user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added
RUN groupadd -r -g 999 redis && useradd -r -g redis -u 999 redis
# grab gosu for easy step-down from root
#
ENV GOSU_VERSION 1.11
RUN set -eux; \
# save list of currently installed packages for later so we can clean up
savedAptMark="$(apt-mark showmanual)"; \
apt-get update; \
apt-get install -y --no-install-recommends \
ca-certificates \
dirmngr \
gnupg \
wget \
; \
rm -rf /var/lib/apt/lists/*; \
\
dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu ";; \
wget -O /usr/local/bin/gosu.asc ";; \
\
# verify the signature
export GNUPGHOME="$(mktemp -d)"; \
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \
gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
gpgconf --kill all; \
rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \
\
# clean up fetch dependencies
apt-mark auto '.*' > /dev/null; \
[ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
\
chmod +x /usr/local/bin/gosu; \
# verify that the binary works
gosu --version; \
gosu nobody true
ENV REDIS_VERSION 4.0.14
ENV REDIS_DOWNLOAD_URL
ENV REDIS_DOWNLOAD_SHA 1e1e18420a86cfb285933123b04a82e1ebda20bfb0a289472745a087587e93a7
RUN set -eux; \
\
savedAptMark="$(apt-mark showmanual)"; \
apt-get update; \
apt-get install -y --no-install-recommends \
ca-certificates \
wget \
\
gcc \
libc6-dev \
make \
; \
rm -rf /var/lib/apt/lists/*; \
\
wget -O redis.tar.gz "$REDIS_DOWNLOAD_URL"; \
echo "$REDIS_DOWNLOAD_SHA *redis.tar.gz" | sha256sum -c -; \
mkdir -p /usr/src/redis; \
tar -xzf redis.tar.gz -C /usr/src/redis --strip-components=1; \
rm redis.tar.gz; \
\
# disable Redis protected mode [1] as it is unnecessary in context of Docker
# (ports are not automatically exposed when running inside Docker, but rather explicitly by specifying -p / -P)
# [1]:
grep -q '^#define CONFIG_DEFAULT_PROTECTED_MODE 1$' /usr/src/redis/src/server.h; \
sed -ri 's!^(#define CONFIG_DEFAULT_PROTECTED_MODE) 1$!\1 0!' /usr/src/redis/src/server.h; \
grep -q '^#define CONFIG_DEFAULT_PROTECTED_MODE 0$' /usr/src/redis/src/server.h; \
# for future reference, we modify this directly in the source instead of just supplying a default configuration flag because apparently "if you specify any argument to redis-server, [it assumes] you are going to specify everything"
# see also
# (more exactly, this makes sure the default behavior of "save on SIGTERM" stays functional by default)
\
make -C /usr/src/redis -j "$(nproc)"; \
make -C /usr/src/redis install; \
\
# TODO (deduplicate "redis-server" copies)
serverMd5="$(md5sum /usr/local/bin/redis-server | cut -d' ' -f1)"; export serverMd5; \
find /usr/local/bin/redis* -maxdepth 0 \
-type f -not -name redis-server \
-exec sh -eux -c ' \
md5="$(md5sum "$1" | cut -d" " -f1)"; \
test "$md5" = "$serverMd5"; \
' -- '{}' ';' \
-exec ln -svfT 'redis-server' '{}' ';' \
; \
\
rm -r /usr/src/redis; \
\
apt-mark auto '.*' > /dev/null; \
[ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
\
redis-cli --version; \
redis-server --version
RUN mkdir /data && chown redis:redis /data
VOLUME /data
WORKDIR /data
COPY docker-entrypoint.sh /usr/local/bin/
ENTRYPOINT ["docker-entrypoint.sh"]
EXPOSE 6379
CMD ["redis-server"]
编写
FROM centos
ENV MYPATH /usr/local
WORKDIR $MYPAHT
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD echo $MYPATH
CMD echo "success ---------ok"
CMD /bin/bash
提交镜像
1.docker commit -a ='zhuozhe' -m="shuoming" 容器id at xxx/tomcat:1.2
2.push
阿里云
公网地址 registry.cn-hangzhou.aliyuncs.com/tanchao/mydocker
专有网络registry-vpc.cn-hangzhou.aliyuncs.com/tanchao/mydocker
经典网络registry-internal.cn-hangzhou.aliyuncs.com/tanchao/mydocker
标签: #centos7dockerredis