03-Ubuntu18&Docker安装与配置

Ubuntu install Docker

Test Env

Name Version
Ubuntu server 18.04.4

Ubuntu install

下载ubuntu server

Tips

建议大家使用低版本开发。

Docker install

  1. 卸载旧版本
1
2
3
$ sudo apt-get install \
linux-image-extra-$(uname -r) \
linux-image-extra-virtual
  1. 安装一些必要工具
1
2
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
  1. 安装GPG证书
1
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
  1. 写入软件源信息
1
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
  1. 更新并安装Docker CE
1
2
sudo apt-get -y update
sudo apt-get -y install docker-ce
  1. 启动Docker CE
1
$ sudo service docker start
  1. 建立docker用户组
1
$ sudo groupadd docker
  1. 将当前用户加入docker组
1
$ sudo usermod -aG docker $USER
  1. 配置Docker镜像加速器
1
2
3
4
5
6
7
$ vi /etc/docker/daemon.json

{
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}
  1. 重启Docker服务
1
2
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
  1. 查看docker安装是否正常
1
$ docker info

出现一大堆docker的配置信息则证明安装正常。

Docker Compose install

官方安装教程:https://docs.docker.com/compose/install/

在其中找到最新的release版本安装。以下使用1.26.0版本:

1
2
3
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

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

Docker Shell

Shell Tips
docker info 查看当前docker信息
docker ps 查看当前启动的容器
docker images 查看当前docker中所有镜像列表
docker image stop [id] 删除指定id的镜像
docker container ls 查看当前docker中所有容器
docker container stop [id] 停止正在运行的指定id容器
docker container restart [id] 重启指定id容器
docker container start [id] 运行指定id容器
docker exec -it [id] bash 进入容器
docker-compose up 运行所有容器
docker-compose up -d 后台运行所有容器
docker-compose down 停止up命令启动的所有容器,并移除网络

Ubuntu Shell

防火墙ufw命令:

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
tycoding@tycoding:~$ ufw -h
ERROR: Invalid syntax

Usage: ufw COMMAND

Commands:
enable enables the firewall
disable disables the firewall
default ARG set default policy
logging LEVEL set logging to LEVEL
allow ARGS add allow rule
deny ARGS add deny rule
reject ARGS add reject rule
limit ARGS add limit rule
delete RULE|NUM delete RULE
insert NUM RULE insert RULE at NUM
route RULE add route RULE
route delete RULE|NUM delete route RULE
route insert NUM RULE insert route RULE at NUM
reload reload firewall
reset reset firewall
status show firewall status
status numbered show firewall status as numbered list of RULES
status verbose show verbose firewall status
show ARG show firewall report
version display version information

Application profile commands:
app list list application profiles
app info PROFILE show information on PROFILE
app update PROFILE update PROFILE
app default ARG set default application policy

Ubuntu18设置 ufw防火墙允许ssh连接

当你在本地用ssh user@ip连接虚拟机一直连接不上时,可能是虚拟机没有防火墙没有开放22端口:

image-20200625092920308

你可以尝试关闭ufw防火墙,或开放22端口:

image-20200625093046745

这两种方式都可以让你正常用ssh连接。

允许ssh使用root账户登录

在安装Ubuntu虚拟机时,一般要求我们设置登录账户和密码,但用户名却不允许设置为root,因为Ubuntu内置了root账户,且密码你随机的。

  1. 重置root账户密码为root
1
sudo passwd root

image-20200625093506683

  1. 编辑/etc/ssh/ssh_config文件,允许root账户登录
1
sudo vi /etc/ssh/ssh_config

PermitRootLogin prohibit-password修改为PermitRootLogin yes

image-20200625093750132

重启ssh服务:

1
sudo systemctl restart sshd

那么就能使用ssh root@ip账户登录了:

image-20200625093905847

Tips

在Ubuntu虚拟机上操作docker中可能会出现一些问题:

docker上启动了容器,但在本地连接不上指定的ip端口

栗子:本人在docker上部署的elastcisearch启动后,在本地浏览器上死活无法无法连接9200端口。

可以尝试关闭防火墙;或重启虚拟机(之前是直接将虚拟机挂起的)

Docs

交流

QQGroup:671017003

WeChatGroup: 关注公众号查看

联系

TyCoding wechat
欢迎关注公众号:程序员涂陌
如果你觉得这篇文章帮助到了你,你可以帮作者买一杯果汁表示鼓励

TOP