安装 docker
卸载 docker 旧版本
查看是否安装 docker,已经安装的版本
卸载旧版本
1
| sudo apt remove docker docker-engine docker.io
|
如果要按照 EE 版本,还需要卸载 CE 版本
1
| sudo apt remove docker docker-engine docker-ce docker.io
|
安装 docker 的准备
刷新 apt 包的索引
安装必要的软件包以允许通过 Https 来使用 Docker 的存储库
1
| sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
|
添加 Docker 的 GPG 密钥
1
| curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
|
验证 GPG 密钥的指纹
1 2 3 4 5 6 7 8 9 10
| sudo apt-key fingerprint 0EBFCD88
----------------------------------------------------------- ## 下面是验证成功的输出: pub rsa4096 2017-02-22 [SCEA] 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid Docker Release (CE deb) <docker@docker.com> sub rsa4096 2017-02-22 [S] -----------------------------------------------------------
|
指定稳定版的知识库
1
| sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
|
安装最新版 docker
更新软件包索引并安装 Docker CE
1 2
| sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io
|
建立 docker 用户组
将当前用户加入 docker 组
1
| sudo usermod -aG docker $USER
|
检查安装是否成功
1
| sudo docker run hello-world
|
安装 docker compose
确认最新的 compose 版本
从官方开源位置compose release page on GitHub上找到最新的稳定版的版本号。截止到本博文发文,最新的版本号是 1.23.2.
下载 compose
1 2 3
| ## 注意根据上一步的调查结果更换为合适的版本号。目前最新版是1.23.2. sudo curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
|
设置执行权限
1
| sudo chmod +x /usr/local/bin/docker-compose
|
检查安装是否正常完成
1 2 3 4 5
| docker-compose --version
------------------------ 正常完成的情况下,会输出如下说明。(1.23.2版的情况) docker-compose version 1.23.2, build 1110ad01
|
配置 docker-compose 启动文件
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
| version: '3' services: db: image: mysql:5.7 volumes: - ./db_data:/var/lib/mysql ports: - "3306:3306" restart: always environment: MYSQL_ROOT_PASSWORD: 123456 MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: 123456
web: depends_on: - db image: wordpress:latest volumes: - ./web_data:/var/www/html ports: - "80:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: 123456
|
项目 |
说明 |
version |
配置文件的版本,默认为 3. 也有 3.1, 3.2. |
services |
服务:服务下面放置各个 docker 容器的配置。 |
db/web/… |
自定义的 docker 容器的名字 |
image |
docker 镜像指定。格式为[镜像名字:tag]. 容器就是镜像的实例,所以这个指定很关键。如果本地没有相应的镜像,会自动从 docker.com 的公共仓库去拉取。这一点强吧! |
volumes |
数据卷指定。可以指定多个。如果不指定可读写数据卷,docker 一旦停止,用户数据也会随之消失。指定格式 HOST_DIRECTORY:CONTAINER_DIRECTORY:ReadWriteOption 主机的目录应该设置为相对路径,不然 docker 可能找不到要映射的目录。默认的读写属性为可以读写。 |
ports |
端口映射。格式:HOST_PORTS:CONTAINER_PORTS。 mysql 数据库访问默认端口为 3306,web 服务器默认访问端口为 80,如果不指定的话,外面访问不了 |
restart |
指定容器退出后的重启策略,always 为始终重启。生产环境中推荐配置为 always 或者 unless-stopped |
environment |
环境变量设置。这里设置的数据库用户名密码等,会自动反映到数据库中。注意不同服务(容器)之间的环境变量内容要匹配 |
启动 docker 并验证
进入到上面步骤生成配置文件所在的目录,并执行下面的命令,既可以启动 wordpress.
启动参数 up :它将尝试自动完成包括构建镜像,(重新)创建服务,启动服务,并关联服务相关容器的一系列操作。链接的服务都将会被自动启动,除非已经处于运行状态。
-d:守护方式启动。 即后台方式启动各个容器。
这个时候,打开网页http://localhost/ 即可看到 wordpress 的语言选择界面。
下面再列举一些常用的 compose 命令
1 2 3 4 5 6 7 8 9 10
| #查看compose版本 docker-compose version #列出项目中目前的所有容器(注意默认项目名是当前的目录名,需要先进入本目录) docker-compose ps #停止当前的compose项目(注意默认项目名是当前的目录名,需要先进入本目录) docker-compose stop #重启动当前的compose项目(注意默认项目名是当前的目录名,需要先进入本目录) docker-compose restart #查看运行中的容器 docker container ls
|
补充说明:
docker-compose 命令选项
-f, –file FILE 指定使用的 Compose 模板文件,默认为 docker-compose.yml ,可以多次指定。
-p, –project-name NAME 指定项目名称,默认将使用所在目录名称作为项目名。
修改 gcp 用户密码
通过sudo su
命令切换到root
用户
修改 SSH 配置文件/etc/ssh/sshd_config
1
| vi /etc/ssh/sshd_config //编辑文件
|
找到 PermitRootLogin 和 Pa sswordAuthentication
1 2 3 4 5
| # Authentication: PermitRootLogin yes //默认为no,需要开启root用户访问改为
# Change to no to disable tunnelled clear text passwords PasswordAuthentication yes //默认为no,改为yes开启密码登陆
|
重启 SSH 服务
Ubuntu Debian 适用
Cent OS7 适用
1
| systemctl restart sshd.service
|
进行以下操作,可使用 putty、iterm 等客户端通过用户名和密码访问实例
为现有用户设置一个密码,先查看当前登陆
可以看到当前登陆了 mapgun 和 root 用户,修改指定用户密码即可
1
| passwd pajna //pajna改为想要修改的用户名
|
新增一个用户
1 2
| useradd name //新增用户 passwd name //设置用户密码
|
设置 root 密码
如果使用 root 密码登陆,需要设置 root 用户密码。
vim 格式化 所有代码
- 按两下小写 g,即 gg,定位光标到第一行。
- 按住 Shift+v,即大写 V,进入可视化编辑的列编辑模式。
- Shift+g,即大写 G,选中整个代码。
- 按下等号=,格式化所有代码。