Docker 指令

Docker 安装教程

Docker官网 hub.docker.com

1.安装

1
2
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun

2.修改镜像源

1
2
3
4
5
6
7
8
cd /etc/docker/daemon.json

{
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}
$ sudo systemctl start docker

3.下载软件

1
2
docker pull tomcat
docker pull Ubuntu:16.04

4.交互式启动镜像

1
2
3
$ docker run -it --rm \
ubuntu:16.04 \
bash

删除容器

1
docker rm containner_id 

进入容器

1
docker attach containner_id

删除镜像

1
docker rmi IMAGE_ID 例如删除tomcat

交互式进入容器

1
docker exec -it containner_id bash

-it
-i: 交互式操作,一个是 -t 终端
删除虚悬镜像

1
docker image prune

启动tomcat镜像

1
docker run -p 8080:8080 tomcat

创建自定义镜像

1
docker build -t myshop .

启动数据库

1
2
3
4
5
6
7
docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=aaazzz123 \
-d mysql:5.7.22
docker logs + name -f
docker logs --since 30m e82c9aa432b8
docker run -p 8080:8080 --name myshop -v /usr/local/docker/tomcat/ROOT/:/usr/local/tomcat/webapps/ROOT -d tomcat

定制镜像:

1
docker build -t myshop .

定制镜像:docker build -t myshop .

5.Compose

安装docker-compose

1
2
3

curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

docker-compose.yml 配置

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-composecd /usr/local/docker/tomcat vi docker-compose.yml

version: '3'
services:

web:
restart: always
image: tomcat
container_name: web
ports:
- 8080:8080
volumes:
- /usr/local/docker/gabarge_sort/ROOT:/usr/local/tomcat/webapps/ROOT
mysql:
image: mysql:5.7.22
restart: always
container_name: mysql
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: aaazzz123
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
--max_allowed_packet=128M
volumes:
- mysql-data:/var/lib/mysql
halo:
restart: always
image: ruibaby/halo
container_name: halo
ports:
- 8090:8090
environment:
- VIRTUAL_PORT=8090
- VIRTUAL_HOST=smxy.xyz:8888 # 监听的地址(务必修改)
- LETSENCRYPT_HOST=smxy.xyz:8888 # 证书的域名 (务必修改)
- LETSENCRYPT_EMAIL=764763903@qq.com # 证书所有者的邮箱,快过期时会提醒(务必修改)
- MAX_UPLOAD_SIZE=10m
- JVM_XMS=256m
- JVM_XMX=256m
volumes:
- ~/.halo:/root/.halo
volumes:
mysql-data:

运行和退出 docker-compose

halo:
restart: always
image: ruibaby/halo
container_name: halo
ports:
- 8090:8090
environment:
- VIRTUAL_PORT=8090
- VIRTUAL_HOST=smxy.xyz:8888 # 监听的地址(务必修改)
- LETSENCRYPT_HOST=smxy.xyz:8888 # 证书的域名 (务必修改)
- LETSENCRYPT_EMAIL=764763903@qq.com # 证书所有者的邮箱,快过期时会提醒(务必修改)
- MAX_UPLOAD_SIZE=10m
- JVM_XMS=256m
- JVM_XMX=256m
volumes:
- ~/.halo:/root/.halo

1
docker-compose up/down 必须在上下文对象里执行

查询端口是否被占用

1
netstat  -anp  |grep 8081
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

请我喝杯咖啡吧~

支付宝
微信