Docker
- 查看内核版本
#如果低于3.1是不能进行安装的
uname -r
- 卸载docker
$ sudo yum remove docker docker-common docker-selinux docker-engine
#或者
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
- 安装docker
#更新云源(保证下载的docker版本不会太旧)
$ sudo yum update
#安装docker
yum install docker(也是有版本的)
#安装之后可以查看docker的版本
docker -v/docker --version
#今天需要安装mysql tomcat redis
#查询在docker仓库中是否有这个工具/软件
#可以通过官网进行查询(https://hub.docker.com)
docker search 名称
docker search mysql
#一定要配置加速器
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://1sbmxpab.mirror.aliyuncs.com"]
}
#拉取需要的镜像(image)
docker pull 名称:tags
docker pull mysql:8.0.13
#查看拉取的镜像文件(相当于现在已经下载了一个安装包)
docker images/docker image ls
#删除镜像
docker rmi 镜像ID
#如何启动一个容器(怎么安装这个安装包) -deamon
docker run --name 自定义名称 -e 参数 -p 宿主机端口:容器端口 -d 镜像名称
#以安装mysql为例
docker run --name mysql8 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:8.0.13
#查看启动日志
docker logs 容器名称/容器ID
#停止运行中的容器
docker stop 容器ID
#启动停止的容器
docker start 容器ID
#查看所有的容器
docker ps -a
#仅仅只查看启动的容器
docker ps
#删除启动中的容器(这个容器必须是已经停止的)
docker rm 容器ID
#强制删除一个容器
docker rm -f 容器ID
#修改密码
#先要进入容器内部
#docker 执行 交互 容器 到bin目录以bash命令进行交互
docker exec -it 容器ID /bin/bash
#修改mysql的密码
docker exec -it 827b664d8250 /bin/bash
mysql -u root -p123456
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;
#安装tomcat
docker search tomcat
docker pull tomcat
docker images
docker run --name tomcat -p 8080:8080 -d tomcat
#作业,使用docker安装一个redis
Docker Compose
docker三剑客之一
# 下载1.25.0 docker compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 测试安装
sudo docker-compose --version
#启动一个容器
docker-compose up -d
#停止容器
docker-compose down
MySQL 8.x
version: '3.1'
services:
mysql8:
image: mysql:8.0.13
restart: always
environment:
MYSQL_ROOT_PASSWORD: 123456
command:
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
ports:
- 3306:3306
volumes:
- ./data:/var/lib/mysql
adminer
version: '3.1'
services:
adminer:
image: adminer
restart: always
ports:
- 8080:8080
gitlab
version: '3'
services:
web:
image: 'twang2218/gitlab-ce-zh'
restart: always
hostname: '119.45.140.73'
environment:
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://119.45.140.73:8080'
gitlab_rails['gitlab_shell_ssh_port'] = 2222
unicorn['port'] = 8888
nginx['listen_port'] = 8080
ports:
- '8080:8080'
- '8443:443'
- '2222:22'
volumes:
- ./config:/etc/gitlab
- ./data:/var/opt/gitlab
- ./logs:/var/log/gitlab
Jenkins
version: '3.1'
services:
jenkins:
restart: always
image: jenkinsci/jenkins
container_name: jenkins
ports:
- 8080:8080
- 50000:50000
environment:
TZ: Asia/Shanghai
volumes:
- data:/var/jenkins_home
volumes:
data:
tomcat
version: '3.1'
services:
tomcat:
image: tomcat:latest
restart: always
ports:
- 8080:8080