文章目录
docker官网
1)yum安装gcc相关:
yum -y install gcc
yum -y install gcc-c++
2)安装软件包:
yum install -y yum-utils
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3)更新yum软件包索引:
yum makecache fast
4)安装Docker CE:
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
5) 启动docker:
systemctl start docker
6) 阿里云镜像加速器配置:


docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
redis 6.2.11 6fce9af058e8 2 weeks ago 113MB
mysql 8.0 3218b38490ce 15 months ago 516MB
registry latest b8604a3fe854 16 months ago 26.2MB
ubuntu latest ba6acccedd29 17 months ago 72.8MB
tomcat 8.0.15-jre7 8384f49437b3 8 years ago 355MB
docker images -q
6fce9af058e8
3218b38490ce
b8604a3fe854
ba6acccedd29
8384f49437b3
docker search redis
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
redis Redis is an open source key-value store that… 11926 [OK]
redislabs/redisearch Redis With the RedisSearch module pre-loaded… 56
redislabs/redisinsight RedisInsight - The GUI for Redis 81
redislabs/rebloom A probablistic datatypes module for Redis 22 [OK]
redislabs/redis Clustered in-memory database engine compatib… 36
redislabs/rejson RedisJSON - Enhanced JSON data type processi… 53
redislabs/redisgraph A graph database module for Redis 26 [OK]
redislabs/redismod An automated build of redismod - latest Redi… 33 [OK]
redis/redis-stack redis-stack installs a Redis server with add… 41
redislabs/redistimeseries A time series database module for Redis 12
redis/redis-stack-server redis-stack-server installs a Redis server w… 21
docker pull redis:6.0
docker search --limit 5 redis
docker rmi redis:6.0
docker rmi 6fce9af058e8
docker rmi -f 6fce9af058e8
docker rmi -f $(docker images -qa)
docker虚悬镜像:仓库名、标签都是none的镜像,俗称虚悬镜像dangling inamge
–name=“容器新名字” 为容器指定一个名称
-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行)
-i: 以交互模式运行容器,通常与-t同时使用
-t: 为容器重新分配一个伪输入终端,通常与-i同时使用
-P: 随机端口映射,大写P
-p: 指定端口映射,小写p
退出 exit
交互式容器:
docker run -it --name=myu1 ubuntu /bin/bash
守护式容器:
docker run -d redis
docker ps
exit
ctrl+p+q
两者区别:exit容器停止,ctrl+p+q容器不停止
docker start redis
docker restart redis
docker stop redis
docker kill redis
docker rm redis
docker logs c632a8676b73
docker top c632a8676b73
docker inspect c632a8676b73
docker exec -it c632a8676b73 /bin/bash
docker attach c632a8676b73
两者区别:attach直接进入容器启动命令终端,不会启动新的进程,用exit退出,会导致容器停止。 exec是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器停止
docker cp f400fb93b8da:/tmp/a.txt /root
docker export 容器ID > name.tar
cat name.tar | docker import - 镜像用户/镜像名:镜像版本号
docker pull registry
vim /etc/docker/daemon.json
{
"insecure-registries": ["192.168.80.10:5000"], #添加此段,“,”不可少,ip是本机IP地址
"registry-mirrors": ["https://ox6a5bka.mirror.aliyuncs.com"]
}
systemctl daemon-reload
systemctl restart docker.service
docker create -it registry /bin/bash
docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry
'//-p指定端口,一内一外;-v表示挂载,前者是宿主机,后者是容器'
docker commit -m="安装了vim" -a="zhang" f400fb93b8da vimubuntu
curl -XGET http://xxx.xxx.xx.xx:5000/v2/_catalog
docker pull xxx.xxx.xx.xx:5000/ipconfigubuntu:1.2
docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名
docker run -it --privileged=true -v /www/local_data:/tmp/docker_data:rw(ro) --name=u1 ubuntu 读写或只读
docker pull mysql:8.0
docker run -d -p 3306:3306 --privileged=true -v /www/mysql/log:/var/log/mysql -v /www/mysql/data:/var/lib/mysql -v /www/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=Zhang0727 --name mysql8 mysql:8.0.15
docker pull redis:6.0
docker run -p 6379:6379 --name=redis6 --privileged=true -v /www/redis/redis.conf:/etc/redis/redis.conf -v /www/redis/data:/data -d redis:6.2.11 redis-server /etc/redis/redis.conf
✨ 原创不易,还希望各位大佬支持一下 \textcolor{blue}{原创不易,还希望各位大佬支持一下} 原创不易,还希望各位大佬支持一下
👍 点赞,你的认可是我创作的动力! \textcolor{green}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向! \textcolor{green}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富! \textcolor{green}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!
1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里
这个问题在这里已经有了答案:WhydoRubysettersneed"self."qualificationwithintheclass?(3个答案)关闭29天前。给定这段代码:classSomethingattr_accessor:my_variabledefinitialize@my_variable=0enddeffoomy_variable=my_variable+3endends=Something.news.foo我收到这个错误:test.rb:9:in`foo':undefinedmethod`+'fornil:NilClass(NoMethodError)fromtes
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion首先,我想避免一场关于语言的口水战。可供选择的语言有Perl、Python和Ruby。我想提一下,我对所有这些都很满意,但问题是我不能只专注于一个。例如,如果我看到一个很棒的Perl模块,我必须尝试一下。如果我看到一个不错的Python应用程序,我必须知道它是如何制作的。如果我看到RubyDSL或一些Ruby巫术,我就会迷上Ruby一段时间。目前我是一名Java开发人员,但计划在不久的将来
我正在尝试使用docker运行一个Rails应用程序。通过github的sshurl安装的gem很少,如下所示:Gemfilegem'swagger-docs',:git=>'git@github.com:xyz/swagger-docs.git',:branch=>'my_branch'我在docker中添加了keys,它能够克隆所需的repo并从git安装gem。DockerfileRUNmkdir-p/root/.sshCOPY./id_rsa/root/.ssh/id_rsaRUNchmod700/root/.ssh/id_rsaRUNssh-keygen-f/root/.ss
我在Heroku上构建了一个必须在Docker容器内运行的RoR应用程序。为此,我使用officialDockerfile.因为它在Heroku中很常见,所以我需要一些附加组件才能使这个应用程序完全运行。在生产中,变量DATABASE_URL在我的应用程序中可用。但是,如果我尝试其他一些使用环境变量(在我的例子中是Mailtrap)的加载项,变量不会在运行时复制到实例中。所以我的问题很简单:如何让docker实例在Heroku上执行时知道环境变量?您可能会问,我已经知道我们可以在docker-compose.yml中指定一个environment指令。我想避免这种情况,以便能够通过项目
我在开发和生产中都使用docker,真正困扰我的一件事是docker缓存的简单性。我的ruby应用程序需要bundleinstall来安装依赖项,因此我从以下Dockerfile开始:添加GemfileGemfile添加Gemfile.lockGemfile.lock运行bundleinstall--path/root/bundle所有依赖项都被缓存,并且在我添加新gem之前效果很好。即使我添加的gem只有0.5MB,从头开始安装所有应用程序gem仍然需要10-15分钟。由于依赖项文件夹的大小(大约300MB),然后再花10分钟来部署它。我在node_modules和npm上遇到了
开门见山|拉取镜像dockerpullelasticsearch:7.16.1|配置存放的目录#存放配置文件的文件夹mkdir-p/opt/docker/elasticsearch/node-1/config#存放数据的文件夹mkdir-p/opt/docker/elasticsearch/node-1/data#存放运行日志的文件夹mkdir-p/opt/docker/elasticsearch/node-1/log#存放IK分词插件的文件夹mkdir-p/opt/docker/elasticsearch/node-1/plugins若你使用了moba,直接右键新建即可如上图所示依次类推创建
测试环境对于任何一个软件公司来讲,都是核心基础组件之一。转转的测试环境伴随着转转的发展也从单一的几套环境发展成现在的任意的docker动态环境+docker稳定环境环境体系。期间环境系统不断的演进,去适应转转集群扩张、新业务的扩展,走了一些弯路,但最终我们将系统升级到了我们认为的终极方案。下面我们介绍一下转转环境的演进和最终的解决方案。1测试环境演进1.1单体环境 转转在2017年成立之初,5台64G内存的机器,搭建5个完整的测试环境。就满足了转转的日常所需。一台分给开发,几台分给测试。通过沟通协调就能解决多分支并行开发下冲突问题。1.2动态环境+稳定环境 随着微服务化的进
在我使用rbenv更新我的Ruby版本后,我无法使用Heroku命令行工具。我收到此错误:>herokurbenv:heroku:commandnotfoundThe`heroku'commandexistsintheseRubyversions:2.0.0-p195从toolbelt.heroku.com重新安装工具带没有帮助。 最佳答案 我切换到我以前的Ruby版本2.0.0p195并卸载了gem'heroku'rbenvglobal2.0.0p195gemuninstallheroku然后我切换到最新的Ruby版本2.0.0p
我尝试运行gempristine--all并且我不断在控制台中获取它。当我运行gempristine--all我得到这个:权限被拒绝....我什至尝试为每个gem执行geminstall并且仍然得到这个:`Ignoringbinding_of_caller-0.7.2becauseitsextensionsarenotbuilt.Try:gempristinebinding_of_caller--version0.7.2Ignoringbyebug-5.0.0becauseitsextensionsarenotbuilt.Try:gempristinebyebug--version5.