CentOS 服务器 + Docker
1、可以通过阿里云、腾讯云购买一个服务器
2、自己搭建一个本地服务器
(我们这里以云服务器为例)
一、登录服务器
ssh root@服务器ip -p 22
因为每次登录都需要输入一行带有ip的命令,比较麻烦。所以这里我用的脚本登录,每次登录的时候很方便,也方便管理多个服务器。
二、Cent OS操作
这里先记录一条命令 – 开启,重启,停止命令 (这里以ftp服务命令为例)
sudo systemctl start vsftpd
sudo systemctl restart vsftpd
sudo systemctl stop vsftpd
把yum包更新到最新
$sudo yum update
安装各种服务
本人这里使用的是docker
容器服务,mysql,redis,vsftpd服务,以及项目部署都是使用的docker。所以这里先安装 docker
docker最低支持的内核好像是3.0
查看版本以及内核
$ uname -a
# 下面是输入命令后,返回的信息
Linux VM_0_7_centos 3.10.0-1062.9.1.el7.x86_64 #1
SMP Fri Dec 6 15:49:49 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
安装Docker容器服务
安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
安装 docker
yum install docker -y
启动Docker
启动Docker,设置开机启动,
sudo systemctl start docker
sudo systemctl enable docker
#停止Docker
sudo systemctl stop docker
验证是否安装成功
sudo docker info
配置 docker 加速器
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
Docker 常用命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#查找Docker Hub上的镜像
$ docker search imageName/ID
#获取Docker Hub上的镜像
$ docker pull ImageName/ID
#显示本地主机上的镜像列表
$ docker images
#运行本地主机上的镜像
$ docker run ImageName/ID
#列出正在运行的容器
$ docker ps
#查看正在运行容器的网络端口映射情况
$ docker port ContainerID
#查看正在运行容器的内部正在进程运行
$ docker top ContainerID
#查看正在运行容器的内部底层信息
$ docker inspect ContainerID
#停止正在运行容器
$ docker stop ContainerID/
#重启已经停止的容器
$ docker start ContainerID
#删除不需要的容器(必须在容器已经停止的情况下)
$ docker rm ContainerimageID
#移除本地镜像,移除前需要把该镜像下所有的容器删除
$ docker rmi ImageName/ID
#登录docker
$ docker login
#运行ubuntu:16.04镜像并创建容器和启动bash终端
$ docker run -t -i ubuntu:16.04 /bin/bash
#重命名容器名
$ docker rename wonderful_kepler Ubuntu16.04
#构建镜像
$ docker commit -m="has update" -a="SpiffyEight77" ff5d623e2d61 spiffyeight77/ubuntu:16.04
#提交镜像到docker hub 需要登录
$ docker push spiffyeight77/ubuntu
|
部分参数说明
1
2
3
4
5
6
7
8
9
10
11
12
|
-d: 守护模式 后台运行
-p: 是容器内部端口绑定到指定的主机端口
-P: 是容器内部端口随机映射到主机的高端口
-f : 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出
-l : 查询最后一次创建的容器
-t : 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上
-i : 则让容器的标准输入保持打开
-m:提交的描述信息
-a: 指定镜像作者
--rm: 停止容器后移除容器
ff5d623e2d61: 容器ID
spiffyeight77/ubuntu:16.04: 指定要创建的目标镜像名
|
编写 Dockerfile
1
2
3
4
5
6
7
8
9
10
11
|
不会写Dockerfile的话请自行Google
FROM alpine:latest #使用了镜像大小体积只有5MB的alpine镜像
WORKDIR / #设置工作路径
ADD main / #把上文编译好的main文件添加到镜像里
EXPOSE 3000 #暴露容器内部端口
ENTRYPOINT ["./main"] #入口
|