草庐IT

centOS中安装docker

Bikakaso 2023-03-28 原文

docker问题

1. 安装 docker

  1. 下载依赖环境

 yum -y install yum-utils device-mapper-persistent-data lvm2
  1. 指定Docker镜像源

 # 使用的是阿里的
 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 安装docker

 # 使用 yum 安装
 yum makecache fast
 yum -y install docker-ce
  1. 启动Docker并测试

 # 启动Docker服务
 systemctl start docker # 关闭 systemctl stop docker
 # 设置开机自动启动
 systemctl enable docker #关闭 systemctl disable docker
 # 测试   运行hello-world 镜像 根据这个镜像 创建容器
 docker run hello-world
  1. 配置docker仓库

5.1 配置阿里镜像加速

 # 复制粘贴即可
 sudo mkdir -p /etc/docker
 sudo tee /etc/docker/daemon.json <<-'EOF'
 {
   "registry-mirrors": ["https://tp01urzb.mirror.aliyuncs.com"]
 }
 EOF
 sudo systemctl daemon-reload
 sudo systemctl restart docker

5.2 添加镜像

 vi  /etc/docker/daemon.json
 # 内容如下,一开始只有第一个加速镜像,拉取mysql时拉不下来,就多加了几个
 {
   "registry-mirrors": [
         "https://tp01urzb.mirror.aliyuncs.com",
         "https://hub-mirror.c.163.com",
         "https://mirror.baidubce.com",
         "https://docker.mirrors.ustc.edu.cn",
         "https://reg-mirror.qiniu.com"
        ]
 }
 
 # 重启两个服务 注意上边镜像地址用"",每个镜像之间有逗号,写错重启会报错
 systemctl daemon-reload
 systemctl restart docker

2. 镜像/容器操作

  1. 拉取镜像

从中央仓库拉取镜像到本地

 docker pull 镜像名 # 默认拉取最新版本
 
 # 拉取 Tomcat 以及指定版本 Tomcat
 docker pull tomcat
 docker pull tomcat:8 # tomcat 8
  1. 查看本地镜像

 docker images

  1. 删除本地镜像

 docker rmi 镜像标识 
 # 当利用该镜像创建了容器时,要先删除容器,再删除镜像
  1. 运行容器

 # 简单操作
 docker run 镜像的标识|镜像名称[:tag]
 # 常用的一些参数,以上边Tomcat 为例
 docker run -d -p 8080:8080 --name tomcat8 64fbf6b1021d
 # -d 后台运行容器
 # -p 宿主机端口:容器端口 为了映射当前Linux的端口和容器的端口
 # --name 容器名称:指定容器名称
 # 最后一个参数是 镜像名 或者 镜像标识
  1. 查看容器

 # 查看正在运行的容器
 docker ps
 # 查看所有的容器
 docker ps -a
 # 查看容器日志
 # -f:可以滚动查看日志的最后几行
 docker losg -f 容器id
  1. 进入容器内部

 docker exec -it 容器id bash
 # 退回到宿主机 control+p+q
  1. 重启&启动&停止&删除容器

 # 重新启动容器
 docker restart 容器id
 
 # 启动停止运行的容器
 docker start 容器id
 
 # 停止指定的容器(删除容器前,需要先停止容器)
 docker stop 容器id
 
 # 停止全部容器
 docker stop $(docker ps -qa)
 
 # 删除指定容器
 docker rm 容器id
 
 # 删除全部容器
 docker rm $(docker ps -qa)
 
 # 查看容器元信息
 docker inspect 容器id
 
 # 设置容器自动启动
 docker update --restart=always 容器id

 

3. docker安装 Tomcat

 docker search tomcat
 docker pull tomcat # 自动拉取最新镜像
 docker pull tomcat:8 # 拉去指定版本
 docker images # 查看本地镜像
 
 # 创建容器 -d 后台运行, -p 宿主机端口号:容器端口号, --name 容器名 镜像标识 | 镜像名
 docker run -d -p 8080:8080 --name tomcat1 tomcat:8
 

 

4. Mysql

  1. 拉取镜像,查看镜像标识

 docker pull mysql:8
 # 查看标识
 docker images

  1. 创建容器

 docker run -d -p 3306:3306 --name mysql8 -e MYSQL_ROOT_PASSWORD=root 2a6a0d93ee45
 # -e MYSQL_ROOT_PASSWORD=root 为数据库设置密码
  1. 进入容器测试

 # 进入容器
 docker exec -it mysql8 bash
 

有关centOS中安装docker的更多相关文章

  1. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  2. Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting - 2

    1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里

  3. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  4. ruby-on-rails - 无法在 OS X Mavericks 中安装 gem 'therubyracer' - 2

    我是mac的新手,尝试bundleinstall一个克隆的railsrepo。我在安装libv8gem时遇到错误,google并找到了解决方案并做了brewinstalllibv8geminstalllibv8----with-system-v8接下来我中了thyreracergem,完整trace如下Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./Users/anand/.rvm/rubies/

  5. ruby - 在 ubuntu 中安装 rvm 时遇到问题 - 2

    我刚刚使用以下命令在我的机器上安装了rvmbash在我的终端里得到了这个InstallationofRVMto/home/rahul/.rvm/iscomplete.当我转到/home/rahul/.rvm/时,我能够看到所有必要的文件夹,但是当我在终端中输入rvm命令时,出现此错误rvm--versionNocommand'rvm'found,butthereare19similaronesrvm:commandnotfound我该如何解决?编辑我还在我的bashrc中添加了以下几行if[[-n"$PS1"]];thenif[[-s$HOME/.rvm/scripts/rvm]];t

  6. ruby-on-rails - 私有(private) gem 没有安装在 docker 中 - 2

    我正在尝试使用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

  7. ruby-on-rails - 将 Heroku 环境变量传输到 Docker 实例 - 2

    我在Heroku上构建了一个必须在Docker容器内运行的RoR应用程序。为此,我使用officialDockerfile.因为它在Heroku中很常见,所以我需要一些附加组件才能使这个应用程序完全运行。在生产中,变量DATABASE_URL在我的应用程序中可用。但是,如果我尝试其他一些使用环境变量(在我的例子中是Mailtrap)的加载项,变量不会在运行时复制到实例中。所以我的问题很简单:如何让docker实例在Heroku上执行时知道环境变量?您可能会问,我已经知道我们可以在docker-compose.yml中指定一个environment指令。我想避免这种情况,以便能够通过项目

  8. ruby - 更新 gem 时 Docker 包安装缓存问题 - 2

    我在开发和生产中都使用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上遇到了

  9. ruby - 为什么 openssl 在 windows 上产生错误但在 centos 上不产生错误:PKCS12_parse: mac verify failure (OpenSSL::PKCS12::PKCS12Error) - 2

    require'openssl'ifARGV.length==2pkcs12=OpenSSL::PKCS12.new(File.read(ARGV[0]),ARGV[1])ppkcs12.certificateelseputs"Usage:load_cert.rb"end运行它会在Windows上产生错误,但在Linux上不会。错误:OpenSSL::PKCS12::PKCS12Error:PKCS12_parse:macverifyfailurefrom(irb):21:ininitializefrom(irb):21:innewfrom(irb):21fromC:/Ruby192/

  10. 【详解】Docker安装Elasticsearch7.16.1集群 - 2

    开门见山|拉取镜像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,直接右键新建即可如上图所示依次类推创建

随机推荐