docker 入门 docker-compose

一丶 常用链接

Compose 安装

Compose 安装
Linux
Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/releases。

运行以下命令以下载 Docker Compose 的当前稳定版本:

$ sudo curl -L “https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose
要安装其他版本的 Compose,请替换 1.24.1。

将可执行权限应用于二进制文件:

$ sudo chmod +x /usr/local/bin/docker-compose
创建软链:

$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
测试是否安装成功:

$ docker-compose –version
cker-compose version 1.24.1, build 4667896b
注意没有tab全是空格

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
version: '3'
services:
mysql2:
image: mysql
environment:
- MYSQL_ROOT_PASSWORD=123456
ports:
- 28002:3306

mysql3:
image: mysql
environment:
- MYSQL_ROOT_PASSWORD=123456
ports:
- 28003:3306


docker-compose up -d
docker ps

docker hub

登录

1
2
3
4
5
6
7
8
9
10
11
[root@hecs-409746 home]# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: loyalvi
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
[root@hecs-409746 home]#

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
[root@hecs-409746 home]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest 5c62e459e087 11 days ago 556MB
hello-world latest d1165f221234 4 months ago 13.3kB
[root@hecs-409746 home]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5c9023d1080d mysql "docker-entrypoint.s…" 7 minutes ago Up 7 minutes 33060/tcp, 0.0.0.0:28003->3306/tcp, :::28003->3306/tcp home_mysql3_1
48d935b2c0c2 mysql "docker-entrypoint.s…" 7 minutes ago Up 7 minutes 33060/tcp, 0.0.0.0:28002->3306/tcp, :::28002->3306/tcp home_mysql2_1
6ab8621a2502 mysql "docker-entrypoint.s…" About an hour ago Up About an hour 33060/tcp, 0.0.0.0:28001->3306/tcp, :::28001->3306/tcp mysql1
[root@hecs-409746 home]# docker commit 6ab8621a2502 loyalvi/mysql:1.0
sha256:88e5ded74bd47974385247d59d51f75daeb284360f049c4f9e69fb15af9d6026
[root@hecs-409746 home]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
loyalvi/mysql 1.0 88e5ded74bd4 5 seconds ago 556MB
mysql latest 5c62e459e087 11 days ago 556MB
hello-world latest d1165f221234 4 months ago 13.3kB
[root@hecs-409746 home]# docker push loyalvi/mysql:1.0
The push refers to repository [docker.io/loyalvi/mysql]
9fa71ac3fdc5: Pushed
027a41439ba4: Mounted from library/mysql
cd0c4980990f: Mounted from library/mysql
eeabd280c12e: Mounted from library/mysql
1a4de2199d77: Mounted from library/mysql
ae8fcba6091c: Mounted from library/mysql
d7cde20f3f68: Mounted from library/mysql
b8d0aeaeeee8: Mounted from library/mysql
893f6aea2ce2: Mounted from library/mysql
1952fb2b0eb4: Mounted from library/mysql
50854886015e: Mounted from library/mysql
71a14cc55692: Mounted from library/mysql
764055ebc9a7: Mounted from library/mysql
1.0: digest: sha256:92c274ddcde838b00ecc31636fc8da506609222cb7f47247b1b54ba9b6f38e4d size: 3035

1
docker pull loyalvi/mysql