宿迁做网站优化,汽车嵌入式软件开发,办公空间设计案例平面图,建设网站一定要电脑吗Linux Ubuntu环境下安装配置Docker 和Docker、compose、mysql、中文版portainer 这篇文章探讨了在Linux Ubuntu环境下安装和配置Docker及其相关工具的过程。首先介绍了Docker的基本概念#xff0c;然后详细讲解了在Ubuntu系统上的安装步骤。随后#xff0c;文章涵盖了Dock… Linux Ubuntu环境下安装配置Docker 和Docker、compose、mysql、中文版portainer 这篇文章探讨了在Linux Ubuntu环境下安装和配置Docker及其相关工具的过程。首先介绍了Docker的基本概念然后详细讲解了在Ubuntu系统上的安装步骤。随后文章涵盖了Docker Compose的配置使读者能够更高效地管理多个Docker容器。此外文章还包括了在Docker环境中部署和配置MySQL数据库的方法以满足各种应用的数据存储需求。最后文章介绍了中文版Portainer的安装和配置为用户提供了一个友好的图形化界面使Docker容器的管理变得更加直观和便捷。通过这些内容读者将能够迅速在Ubuntu系统上搭建强大的Docker环境同时利用相关工具更方便地进行容器化应用的开发和部署。 首先环境准备 下载Ubuntu20.04.4版本并打开vmare16虚拟机我用的这个版本 iso镜像名称ubuntu-20.04.4-desktop-amd64.iso 其它版本的ubuntu可以去官网自行下载 https://ubuntu.com/ 为了避免出现其它环境问题先卸载旧版本纯净镜像可以忽略此步骤 sudo apt-get remove docker docker-engine docker.io containerd runcrm -rf /var/lib/docker rm -rf /var/lib/containerd 安装docker sudo apt-get update sudo apt install apt-transport-https ca-certificates curl software-properties-common 或者按照官方的命令 sudo apt-get install ca-certificates curl gnupg lsb-release 添加Docker’s official GPG key sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod ar /etc/apt/keyrings/docker.gpg 设置仓库 echo \deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null 设置国内镜像仓库 vim /etc/docker/daemon.json 添加以下内容 {registry-mirrors: [https://kuamavit.mirror.aliyuncs.com,https://registry.docker-cn.com, https://docker.mirrors.ustc.edu.cn],max-concurrent-downloads: 10,storage-driver: overlay2,graph: /data/docker,log-driver: json-file,log-level: warn,log-opts: {max-size: 10m,max-file: 3}
} 查看是否更改为国内的镜像仓库 docker info docker守护进程启动的时候会默认赋予名字为docker的用户组读写Unix socket的权限因此只要创建docker用户组 并将当前用户加入到docker用户组中那么当前用户就有权限访问Unix socket了进而也就可以执行docker相关命令。 sudo groupadd docker #添加docker用户组 sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中 newgrp docker #更新用户组 就没有了error报错 由于容器的环境比较精简不能编辑我们可从本机编辑文件复制到容器 docker cp /root/index.html tomcat-8080:/usr/local/tomcat/webapps/ 运行一个docker redis 容器 进行 端口映射 两个数据卷挂载 设置开机自启动 例子 docker run -d -p 6379:6379 --name redis506 --restartalways -v /var/lib/redis/data/:/data -v /var/lib/redis/conf/:/usr/local/etc/redis/redis.conf redis:5.0.5 --requirepass password 设置随服务启动而自启动 systemctl enable docker 安装 Docker Compose sudo curl -L https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose #可以自己选定版本号安装我选的是v2.12.2 sudo ln -s ~/.docker/cli-plugins/docker-compose /usr/bin/docker-compose sudo chmod x /usr/local/bin/docker-compose //设置权限 最底下显示镜像地址就是生效 查看docker compose 运行 Docker Compose 下载tomcat的镜像 docker pull tomcat docker images #显示所有镜像 创建tomcat容器 docker run -d --name tomcat-8080 -p 8080:8080 tomcat docker run -d --name tomcat-8081 -p 8081:8080 tomcat 进入容器配置服务 docker exec -it tomcat-8080 bash #为了镜像的简洁性tomcat删除了非必要的文件 进入webapps下 mkdir ROOT echo h18080!!!/h1index.html echo h18081!!!/h1index.html #由于最小化没有vi命令使用打印命令写入文件。 防火墙放行 firewall-cmd --zonepublic --add-port8080/tcp --permanent firewall-cmd --zonepublic --add-port8081/tcp --permanent 配置docker数据卷 数据卷是一个可供一个或多个容器使用的特殊目录。 1、docker run -v 本机存放路径:容器内的存放路径 -d --name -p *:* 镜像 例子 docker run -d -p 8080:8080 --name Tomcat-8080 -v /root/docker-vloumn/qfnj:/usr/local/tomcat/webapps/qfnj tomcat Docker安装nginx nginx目录 /usr/sbin/nginx /usr/lib/nginx /etc/nginx nginx的配置文件 /usr/share/nginx nginx静态html5文件 nginx容器创建并创建对应的映射关系 docker run -d -p 80:80 --name nginx-damoe -v /usr/local/nginx/html:/usr/local/nginx/html -v /user/local/nginx/conf/nginx.conf:/etc/nginx/conf.d/deafault.conf -v /usr/local/nginx/logs:/var/log/nginx nginx docker中安装Mysql docker pull mysql:8.0.27 docker run -d --name Mysql-3306 -p 3306-3306 -e MYSQL_ROOT_PASSWORD123456 mysql:8.0.27 -p 13306:3306 将容器的 3306 端口映射到主机的 3306 端口 --name Mysql-3306 启动后容器名 -e MYSQL_ROOT_PASSWORD123456 初始化 root 用户的密码 docker中部署Mysql docker pull mysql:8.0.27 创建容器并运行: docker run -d --name Mysql-3306 -p 3306-3306 -e MYSQL_ROOT_PASSWORD123456 mysql:8.0.27 -p 3306:3306 将容器的 3306 端口映射到主机的 3306 端口 --name Mysql-3306 启动后的容器名 -e MYSQL_ROOT_PASSWORD123456 初始化 root 用户的密码 Docker中运行mysql,避免中文输入问题 docker exec -it Mysql-3306 env LANGC.UTF-8 bash mysql -uroot -p 输入密码123456进入mysql 展示数据库 show databases; 使用mysql数据库 use mysql; 查看用户信息 SELECT Host,User FROM user; MySQL默认只允许root账户在本地登录如果要在其他机器上连接mysql必须修改root允许远程连接或者添加一个允许远程连接的账户 因为拉取的mysql镜像是比较新版本的当使用grant权限列表on数据库to 用户名访问主机 identified by 密码;时会出现.……ear identified by 密码 at line1这个错误 因为新版的的mysql版本已经将创建账户和赋予权限的方式分开了。 GRANT ALL PRIVILEGES ON *.* TO root% WITH GRANT OPTION ; flush privileges; 创建myx数据库并使用 #下面是我自己的一些设计表和建表可忽略。 构建表结构并插入数据: teacher表结构 字段名 字段描述 数据类型 主键 外键 非空 唯一 自增 id 编号 INT(4) 是 否 是 是 是 num 教工号 INT(10) 否 否 是 是 否 name 姓名 VARCHAR(20) 否 否 是 否 否 sex 性别 VARCHAR(4) 否 否 是 否 否 birthday 出生日期 DATETIME 否 否 否 否 否 address 家庭住址 VARCHAR(50) 否 否 否 否 否 1teacher表的创建 create table teacher(id int(4) not null unique auto_increment,num int(10) not null unique,name varchar(20) not null,sex varchar(4) not null,birthday datetime,address varchar(50),primary key(id))engine InnoDB default charset utf8 collate utf8_bin; 然后向teacher表中插入记录。 insert into teacher values(1, 1001, 张三, 男, 1984-11-08, 北京市昌平区),(2, 1002, 李四, 女, 1970-01-21, 北京市海淀区),(3, 1003, 王五, 男, 1976-10-30, 北京市昌平区),(4, 1004, 赵六, 男, 1980-06-05, 北京市顺义区); 查询teacher表数据 防火墙放行3306 firewall-cmd --zonepublic --add-port3306/tcp --permanent firewall-cmd --reload dockerfile配置demo1 1、创建存放Dockerfile文件的文件夹 mkdir -p /usr/local/docker/demo1/ 2、编写Dockerfile文件 (注Dockerfile文件是严格区分大小写的) FROM tomcat #借助tomcat的镜像 RUN mkdir -p /usr/local/tomcat/webapps/ROOT/ #创建ROOT目录 RUN echo Good morning, and in case I dont see you, Good afternoon, Good evening, And good night./usr/local/tomcat/webapps/ROOT/index.html #使用 echo 写入创建内容 WORKDIR /usr/local/tomcat #跳转到/usr/local/tomcat目录 3、构建Dockerfile镜像 -t 指定构建镜像名称 docker build -t demo1 .或绝对路径 4、创建容器测试镜像 docker run -d --name demo1-8080 -p 8080:8080 demo1 Dockerfile案例七、配置demo1:2.0 1、创建demo2文件夹 mkdir -p /usr/local/docker/demo1:2.0/ 2、编写demo2的Dockerfile文件 FROM tomcat WORKDIR /usr/local/tomcat/webapps/ROOT/ RUN rm -rf * RUN echo h1Hello world/h1/usr/local/tomcat/webapps/ROOT/index.html 3、创建镜像 docker build -t demo2 /usr/local/docker/demo1:2.0/ 4、创建容器测试镜像 docker run -d --name demo1-8080 -p 8080:8080 demo1:2.0 测试 Dockerfile配置demo2 学习COPY命令 1、创建demo2文件夹 mkdir -p /usr/local/docker/demo2/ 2、编写Dockerfile文件 FROM tomcat WORKDIR /usr/local/tomcat/webapps RUN mkdir ROOT RUN rm -rf * COPY 1.jpg /usr/local/tomcat/webapps/ROOT/ 3、创建镜像 docker build -t demo2 . 4、创建容器测试镜像 Dockerfile案例九 1、创建demo3文件夹 mkdir -p /usr/local/docker/demo3/ 2、编写demo3的Dockerfile文件 FROM tomcat RUN mkdir -p /usr/local/tomcat/webapps/ROOT WORKDIR /usr/local/tomcat/webapps/ROOT RUN rm -rf * COPY qfnj.zip /usr/local/tomcat/webapps/ROOT/ RUN unzip qfnj.zip RUN rm -rf qfnj.zip WORKDIR /usr/local/tomcat 3、创建镜像 docker build -t demo3 . 4、创建容器测试镜像 Dockerfile案例十、配置图形化 1、下载docker的中文图形化镜像 sudo su cp Portainer-CN.zip /root Portainer-CN中文界面包上传到root目录下下 sudo mkdir -p /root/portainer/{data,public} 在命令行root目录下输入下面代码 apt install unzip unzip Portainer-CN.zip -d /root/portainer/public docker run -d \--net bridge \-p 9000:9000 \--restartalways \-v /var/run/docker.sock:/var/run/docker.sock \-v /root/portainer/data:/data \-v /root/portainer/public:/public \--name myportainer \portainer/portainer ip;9000 设置管理员密码密码长度不少于八个字符设置好后网页右上角注销重新登录选择本地docker OK到此一些docker和docker-compose的部署和一些简单案例结束了后面我还会继续更新相关大数据方面的内容。