首页 > 系统相关 >Ubuntu环境下安装Docker以及Docker-compose

Ubuntu环境下安装Docker以及Docker-compose

时间:2022-12-21 16:11:22浏览次数:34  
标签:容器 compose name 指定 server Ubuntu Docker docker

一、Ubuntu环境下安装Docker

1.卸载老旧的版本(若未安装过可略)

# CentOS
yum remove docker docker-engine docker.io
# Ubuntu
sudo apt-get remove docker docker-engine docker.io

CentOS环境下执行上边的,Ubuntu环境下执行下边的。

2.安装最新的docker

curl -sSL https://get.docker.com/ | sh 

3.启动并添加开机自启动

sudo systemctl start docker #启动docker
sudo systemctl enable docker #加入开机自启动

4.检查是否安装成功

docker version

若出现 Client 和 Server 两部分内容,则证明安装成功。

二、Ubuntu环境下安装Docker-compose

1.在root用户下执行一下命令

curl -L https://get.daocloud.io/docker/compose/releases/download/v2.6.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

2.授权权限

sudo chmod +x /usr/local/bin/docker-compose

3.查看是否安装成功

docker-compose -v

 三、Docker-compose文件常见语法

version: "3"  # 指定docker-compose语法版本
services:    # 从以下定义服务配置列表
  server_name:   # 可将server_name替换为自定义的名字,如mysql/php都可以
    container_name: container_name  # 指定实例化后的容器名,可将container_name替换为自定义名
    image: xxx:latest # 指定使用的镜像名及标签
    build:  # 如果没有现成的镜像,需要自己构建使用这个选项
      context: /xxx/xxx/Dockerfile  # 指定构建镜像文件的路径
      dockerfile: ....     # 指定Dockerfile文件名,上一条指定,这一条就不要了
    ports:
      - "00:00"  # 容器内的映射端口,本地端口:容器内端口
      - "00:00"  # 可指定多个
    volumes:
      - test1:/xx/xx  # 这里使用managed volume的方法,将容器内的目录映射到物理机,方便管理
      - test2:/xx/xx  # 前者是volumes目录下的名字,后者是容器内目录
      - test3:/xx/xx  # 在文件的最后还要使用volumes指定这几个tests
    volumes_from:  # 指定卷容器
       - volume_container_name  # 卷容器名
    restarts: always  # 设置无论遇到什么错,重启容器
    depends_on:       # 用来解决依赖关系,如这个服务的启动,必须在哪个服务启动之后
      - server_name   # 这个是名字其他服务在这个文件中的server_name
      - server_name1  # 按照先后顺序启动
    links:  # 与depend_on相对应,上面控制容器启动,这个控制容器连接
      - mysql  # 值可以是- 服务名,比较复杂,可以在该服务中使用links中mysql代替这个mysql的ip
    networks: # 加入指定的网络,与之前的添加网卡名类似
      - my_net  # bridge类型的网卡名
      - myapp_net # 如果没有网卡会被创建,建议使用时先创建号,在指定
    environment: # 定义变量,类似dockerfile中的ENV
      - TZ=Asia/Shanghai  # 这里设置容器的时区为亚洲上海,也就解决了容器通过compose编排启动的 时区问题!!!!解决了容器的时区问题!!!
      变量值: 变量名   # 这些变量将会被直接写到镜像中的/etc/profile
    command: [                        #使用 command 可以覆盖容器启动后默认执行的命令
            '--character-set-server=utf8mb4',            #设置数据库表的数据集
            '--collation-server=utf8mb4_unicode_ci',    #设置数据库表的数据集
            '--default-time-zone=+8:00'                    #设置mysql数据库的 时区问题!!!! 而不是设置容器的时区问题!!!!
    ]
  server_name2:  # 开始第二个容器
    server_name:
      stdin_open: true # 类似于docker run -d
      tty: true  # 类似于docker run -t
volumes:   # 以上每个服务中挂载映射的目录都在这里写入一次,也叫作声明volume
  test1:
  test2:
  test3:
networks:  # 如果要指定ip网段,还是创建好在使用即可,声明networks
  my_net:
    driver: bridge  # 指定网卡类型
  myapp_net:
    driver: bridge 

 

标签:容器,compose,name,指定,server,Ubuntu,Docker,docker
From: https://www.cnblogs.com/worthmove/p/16996447.html

相关文章

  • 今日内容 Docker应用部署,迁移和备份及Dockerfile
    应用部署mysql部署#在宿主机上不需要安装mysql了,直接拉取mysql镜像,运行成容器即可#部署步骤 -1创建文件夹mkdir/root/mysql mkdir/root/mysql/conf.d ......
  • Ubuntu18.04下调用fastdds实现通信
    提纲1、编写idl2、fastddsgen生成cpp的源代码文件3、编译生成可执行文件4、执行可执行文件完成通讯1、编写idl现在我们可以编写一个简单的IDL:2、fastddsgen生......
  • 应用部署与Dockerfile
    应用部署mysql部署#在宿主机上不需要安装mysql了,直接拉取mysql镜像,运行成容器即可#部署步骤 -1创建文件夹mkdir/root/mysql mkdir/root/mysql/conf.d mkdi......
  • Linux Docker 修改存储位置及镜像存储位置
    转发:修改Docker存储位置......
  • PXE(grub efi)部署Ubuntu18.04问题总结
    PXE(grubefi)部署Ubuntu18.04问题总结:1、HP默认只配置了第1个网卡和第1个光纤PXE启动解决:可在BIOS手动开启2、UbuntuISO要使用非live版(官网默认为live版,live多了试用......
  • Ubuntu16.04Ubuntu18.04 Ubuntu20.04 安装 ROS
    0首先源要换成中科大(国内)的源。在电脑左上角的Searchyourcomputer中输入Soft,选择Software&update,画面如下找到ustc的替换。sudosh-c'./etc/lsb-release&&......
  • Ubuntu18.04TLS系统下用Pycharm打开conda虚拟环境编译py文件
    首先找到conda的虚拟环境所在的位置,输入命令行​​condaenvlist​​​,效果如下:绿色为创建虚拟环境的命令,蓝色为虚拟环境的名称,紫色为虚拟环境在Ubuntu18.04TLS系统下的......
  • [Ubuntu 21.02] Build wine-8.0-rc1 from source
    wiki2Build(x64only)./configure--enable-win64sudoaptinstallclangsudoaptinstallflexbisonlibfreetype6-devmingw-w64Installmissingdependencies......
  • Docker高级篇:实战Redis集群!从3主3从变为4主4从
    通过前面两篇,我们学会了三主三从的Redis集群搭建及主从容错切换迁移,随着业务增加,可能会有主从扩容的,所以,本文我们来实战主从扩容PS本系列:《Docker学习系列》教程已经发布......
  • Dockerfile
    Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像,文件名必须叫Dockerfile#镜像哪里来?-1远程仓库下载的-2容器做......