操作系统是麒麟V10,在官网上下载的安装包Kylin-Server-V10-SP3-General-Release-2303-X86_64.iso,这里不介绍操作系统的安装了。
文章开头记录一下docker常用命令:
拉取镜像:docker pull 镜像名:版本
查看本地镜像:docker images
镜像重命名(会多一条新的记录,指向原来的ID):docker tag 原名:原版本号 新名:新版本号
创建并启动容器:docker run -d -p 主机端口:容器端口 --name 容器名称 镜像ID
查看运行中的容器:docker ps
查看所有容器:docker ps -a
查看运行中的容器ID:docker ps -q
查看所有容器ID:docker ps -a -q
停止容器:docker stop 容器名称或ID
停止所有运行中的容器:docker stop $(docker ps -q)
启动容器:docker start 容器名称或ID
删除容器:docker rm 容器名称或ID
删除所有容器:docker rm $(docker ps -a -q)
进入容器终端:docker exec -it 容器名称或ID /bin/bash
把容器保存为镜像:docker commit 容器ID 镜像名称
1、系统情况截图
2、安装包下载
docker下载目录:http://mirrors.aliyun.com/docker-ce/linux/static/stable
docker-compose下载目录:https://github.com/docker/compose/releases
创建/docker目录,下载安装包放在这个目录,并解压:tar -zxvf docker-26.1.4.tgz
3、移动解压出来的文件
mv docker/* /usr/bin/
4、设置docker为服务
vim /usr/lib/systemd/system/docker.service
docker.service文件内容:
5、为docker.service添加执行权限
chmod +x /usr/lib/systemd/system/docker.service
6、重新加载系统控制器:systemctl daemon-reload
7、启动docker:systemctl start docker
8、开机自启动:systemctl enable docker
9、验证docker 查看docker 版本:docker -v
10、安装docker-compose(其实就只是把文件移动到/usr/bin里面,并加上执行权限)
cp /docker/docker-compose-linux-x86_64 /usr/bin/docker-compose && chmod +x /usr/bin/docker-compose
11、验证docker-compose查看版本:docker-compose version
使用上面的docker中拉取nginx镜像并启动一个nginx容器
1、由于众所周知的原因,国内好像找不到可用的docker镜像服务器了,这里要用到阿里云容器镜像服务
2、阿里云容器镜像服务使用方法这里不介绍。百度一下,大部分都是fork github上的docker_image_pusher项目,亲测很好用。
3、拉取最新nginx镜像:
docker pull registry.cn-hangzhou.aliyuncs.com/你的仓库/nginx
4、查看拉下来的镜像:
docker images
5、创建并运行一个nginx容器,映射一些端口:
docker run -d -p 8080:80 -p 2222:22 -p 3366:3306 --name my-first-docker 3b25b682ea82
(3b25b682ea82是镜像的ID;nginx默认的端口是80,我映射到了宿主机的8080端口,另外几个端口只是演示怎么映射多端口)
6、网页打开nginx默认页面。(别忘了打开宿主机防火墙8080端口)
在上面的容器中安装vim、wget、ssh
一般的docker镜像都不带vim、wget、ssh,但有这几个东西感觉会方便管理一些,所以记录一下安装过程。
1、进入上面创建的容器终端:docker exec -it 容器ID /bin/bash
2、apt-get update
3、安装vim:apt-get install vim
4、安装wget:apt-get install wget
5、安装ssh:apt-get install openssh-server
6、修改ssh配置,启用root登录
vim /etc/ssh/sshd_config,在里面添加一行内容:PermitRootLogin yes,保存退出
7、重启ssh服务:servcie ssh restart
8、设置开机启动ssh服务
vim /docker-entrypoint.d/run.sh,文件内容:
9、修改密码:passwdsys
10、重启容器后用ssh工具测试。(之前已映射主机2222端口到容器的22端口,此时能用上了)
在上面的容器中安装NodeJs18.20.4
一般来说,一个容器安装一个应用,没必要把很多东西装到一个容器里,装多了容易相互影响不利于排除故障,但是为了练手嘛,可以这么试试!
1、下载node18安装脚本sh文件,命名为setup_node.sh
下载地址 https://deb.nodesource.com/setup_18.x
不知道为什么我在容器内直接wget下载这个文件失败,所以是在外面下载,复制内容后用vim写进去的。
2、给sh文件执行权限:chmod +x setup_node.sh
3、运行sh文件:./setup_node.sh
4、安装:apt-get install nodejs
5、验证:nodejs -v
在上面的容器中安装mysql8.0.40
1、mysql官网下载mysql-apt-config_0.8.33-1_all.deb
2、dpkg -i mysql-apt-config_0.8.33-1_all.deb
3、按提示安装一下缺少的依赖:apt-get install lsb-release
4、再次执行第2步
5、apt-get update
6、apt-get install mysql-server
7、编辑配置文件:/etc/mysql/my.cnf
8、添加开机启动
在docker-entrypoint.d目录里添加runmysql.sh文件,内容:/usr/sbin/mysqld &
注意&符号,表示后台启动