标签:知识 unless docker-ce str point 安装redis 重启 exec 运行时
本文主要为Docker的基础知识
cd /etc
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.back #建议备份或者改名
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache #生成缓存
Older versions of Docker were called docker
or docker-engine
. If these are installed, uninstall them, along with associated dependencies.
$ sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
yum -y install gcc
yum -y install gcc-c++
【报错】yum install -y gcc报错的解决方法如下
错误:软件包:glibc-2.17-196.el7.i686 (yum.repo)
需要:glibc-common = 2.17-196.el7
已安装: glibc-common-2.17-222.el7.x86_64 (@base)
glibc-common = 2.17-222.el7
可用: glibc-common-2.17-196.el7.x86_64 (yum.repo)
glibc-common = 2.17-196.el7
错误:软件包:gcc-4.8.5-16.el7.x86_64 (yum.repo)
需要:cpp = 4.8.5-16.el7
已安装: cpp-4.8.5-28.el7_5.1.x86_64 (@updates)
cpp = 4.8.2-16.el7_5
cpp = 4.8.5-28.el7_5.1
可用: cpp-4.8.5-16.el7.x86_64 (yum.repo)
cpp = 4.8.5-16.el7
cpp = 4.8.2-16.
以上问题解决办法:输入命令:yum distro-sync
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
$ sudo yum-config-manager --add-repo https://mirror.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce
systemctl start docker
针对Docker客户端版本大于 1.10.0 的用户
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器,镜像地址是自己的
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF‘
{
"registry-mirrors": ["https://qnls4bm7.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
#获取当前镜像id
docker images -q
#获取所有镜像id
docker images -qa
#搜索镜像
docker search 镜像名
#拉取镜像
docker pull 镜像名:tag
#删除单个镜像
docker rmi -f 镜像id
#删除多个镜像
docker rmi -f 镜像id:tag 镜像id:tag
#删除全部(慎用!)
docker rmi -f $(docker images -qa)
调用格式:docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
常用的参数主要有:
# 查看所有在运行的容器
docker container ls
docker ps -l (上一次运行的容器) -n 3(上三次运行的容器)
# 查看所有容器,已停止的容器也会显示
docker container ls -a
docker ps -a
# 停止运行容器
docker kill container_id/container_name (强制停止)
docker stop container_id/container_name
# 启动/重启停止了的容器
docker start/restart container_id/container_name
# 删除未运行的容器
docker rm container_id/container_name
#启动守护式容器
docker run -d 容器名
#查看容器日志
docker logs -f -t --tail 容器id
【注】-t 加入时间戳
-f跟随最新打印日志
#查看容器内运行的进程
docker top 容器id
# 查看容器配置的细节和运行时信息
docker inspect container_id/container_name
# 对运行时的容器,运行bash命令
docker exec container_id/container_name bash_commands 在容器中打开新的终端
docker attach container_id/container_name bash_commands 直接进入容器启动的终端
# 后面添加 -it 会连接到容器的shell进程
docker exec -it container_id/container_name bash_commands
#从容器内拷贝文件到主机上
docker cp 容器id:容器内路径 目的主机路径
#提交容器副本使之成为一个新的镜像
docker commit -m="描述信息" -a="作者" 容器id 要创建的目标镜像名:[tag]
【容器和宿主机之间数据共享】
docker run -it -v linux_absolut_path:container_absolute_path 镜像名
#容器内数据只读(ro:read only)
docker run -it -v linux_absolut_path:container_absolute_path:ro 镜像名
【容器和容器之间数据共享】
#语法,容器1继承容器2
docker run -it --name 容器名1 --volumes-from 容器名2 镜像名
【结论】
容器间配置信息的传递,数据卷的生命周期一直持续到没有容器使用它为止。(没死绝就都有)
1、编写dockerfile文件
2、 docker build
3、docker run
DockerFile内容基础知识:
大致流程:
99%都是FROM scratch
dockerfile文件:
FROM centos
ENV mypath /tmp
WORKDIR $mypath
#让它支持vim以及ifconfig
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD /bin/bash
运行:
docker build -f /mydocker/dockerfile -t mycentos:1.3 .
docker run -p 3306:3306 --name mysql -v /msuse/mysql/conf:/etc/mysql/conf.d -v /msuse/mysql/logs:/logs -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
docker run -p 6379:6379 -v /msuse/myredis/data:/data -v /msuse/myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf -d redis:3.2 redis-server /usr/local/etc/redis/redis.conf --appendonly yes
标签:知识 unless docker-ce str point 安装redis 重启 exec 运行时
原文地址:https://www.cnblogs.com/yifengGG/p/13081535.html