docker 镜像操作
拉取镜像
docker pull 镜像地址名称
查看本地镜像
docker images
删除本地镜像
docker rmi 镜像id
镜像导出
dokcer save -o /home/user/docker/filename imageid
镜像导入
docker load -i filename
修改标识
docker tag 镜像id name:tag
容器的操作
运行容器
docker run 镜像id
[镜像名称:tag
]
docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像id
[镜像名称
|TAG
]
查看正在运行的容器
docker
ps [-qa
]
查看容器的日志
docker logs -f 容器id
进入容器内部
docker
exec -it 容器id
bash
停止容器
docker stop 容器id
删除容器
docker
rm 容器id
docker
rm ${docker ps -qa}
宿主机文件复制到容器内部
docker
cp 文件名称 容器id:容器内部路径
数据卷
创建数据卷
docker volume create 数据卷名称
查看数据卷信息
docker volume inspect 数据卷名称
查看全部数据卷
docker volume
ls
删除数据卷
docker volume
rm 数据卷名称
- 使用数据卷
```bash
docker run -v 路径:容器内部的路径 镜像id
自定义镜像
创建Dockerfile文件
from daocloud.io/library/tomcat:8.5.15-jre8
copy ssh.war /usr/local/tomcat/webapps
workdir
cmd
制作镜像
docker build -t 镜像名称
[:tag
]
Docker-Compose
Docker-Compose批量管理容器,需要单独安装
编写docker-compose.yml文件
version:
'3.1'
services:
mysql:
restart: always
image: daocloud.io/library/mysql:5.7.4
container_name: mysql
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: 123456
TZ: Asia/Shanghai
volumes:
- /opt/docker_msyql/data:/var/lib/mysql
tomcat:
restart: always
image: daocloud.io/library/tomcat:8.5.15-jre8
container_name: tomcat
ports:
- 8080:8080
environment:
TZ: Asia/Shanghai
volumes:
- /opt/docker_tomcat/tomcat_webapps:/user/local/tomcat/webapps
- /opt/docker_tomcat/tomcat_logs:/usr/local/tomcat/logs
使用docker-compose同时启动tomcat和mysql容器(在docker-compose.yml路径启动)
docker-compose up -d
其他命令
关闭并删除容器
docker-compose down
开启关闭或重启已经存在的docker-compose维护的容器
docker-compose start
|stop
|restart
查看docker-compose管理的容器
docker-compose
ps
查看日志
docker-compose logs -f
docker-compose配合Dockerfile使用
编写docker-compose.yml
version:
'3.1'
services:
ssm:
restart: always
build:
context:
../
dockerfile: Dockerfile
image: ssm:1.0.1
container_name: ssm
ports:
- 8081:8080
environment:
TZ: Asia/Shanghai
在docker-compose.yml的上级目录编写Dockerfile文件
from daocloud.io/library/tomcat:8.5.15-jre8
copy ssm.war /usr/local/tomcat/webapps
重新构建自定义镜像
docker-compose build
docker-compose up -d --build
Docker CI、CD
CI(continuous intergration) 继续集成
搭建gitlab服务器
通过docker-compose.yml去安装gitlab
version:
'3.1'
services:
gitlab:
image:
'twang2218/gitlab-ce-zh:11.1.4'
container_name:
'gitlab'
restart: always
hostname:
'gitlab'
environment:
TZ:
'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG:
|
external_url
'http://ip'
gitlab_rails
['time_zone'] = 'Asia/Shanghai'
gitlab_rails
['smtp_enable'] = true
gitlab_rails
['gitlab_shell_ssh_port'] = 22
ports:
- 80:80
- 443:443
- 22:22
volumes:
- /opt/docker_gitlab/config:/etc/gitlab
- /opt/docker_gitlabe/data:/var/opt/gitlab
- /opt/docker_gitlab/logs:/var/log/gitlab