title: Suse Linux 12 Docker安装
date: 2018-07-01 16:01:33
categories:
- Linux
- Linux
tags: [linux,linux]
安装环境及版本:
- Ubuntu: 18.04
- Centos : 7.4.1708
- Suse: 12 SP2
- Docker: 19.03
- 教程: https://yeasy.gitbook.io/docker_practice/install
一 安装
- Ubuntu 18
# 1: 安装必要的一些系统工具sudo apt-get updatesudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common# 2: 安装GPG证书curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -# 3: 写入软件源信息sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"# 4: 更新并安装Docker-CEsudo apt-get -y updatesudo apt-get -y install docker-ce
- CentOS 7.4
#1 卸载已经安装的Docker 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 #2 添加阿里镜像 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #3 查看可以安装的docker版本 yum list docker-ce --showduplicates #4 安装 sudo yum install docker-ce-18.03.1.ce
- Suse 12
```shell
设置源
zypper ar -f https://mirrors.cloud.tencent.com/opensuse/distribution/openSUSE-stable/repo/oss/ oss zypper ar -fcg https://repo.huaweicloud.com/opensuse/distribution/leap/15.2/repo/oss oss
sudo zypper dist-upgrade sudo zypper update sudo zypper install docker
<a name="Nt0yj"></a>
## 二 配置
- docker tab 不提示问题
```shell
yum install -y bash-completion
source /usr/share/bash-completion/bash_completion
- docker 内部 apt源更换
docker exec -it xxx bash #清华源 sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list #阿里源 sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list apt-get clean
docker 命令
docker search 关键字 eg:docker search redis,检索镜像(一般从docker hub检索) docker pull 镜像名:tag 拉去镜像 docker images 镜像列表 docker container ls 列表所有的容器 docker rmi image-id 删除指定镜像 docker rm container-id 删除指定容器 docker ps 查看运行中的容器 -a 查看所有容器 docker start/stop container-id||container-name 开启/停止 指定容器id或者容器名称的容器 docker version 版本信息
- 配置国内镜像
```shell
#1.不存在则新建daemon.json
vim /etc/docker/daemon.json
#2.内容是{}
{
"registry-mirrors": ["https://4oekmmf9.mirror.aliyuncs.com"]
}
#3.重启docker服务并查看
docker info
三 常用镜像
- hello world
docker run hello-world
- nginx
容器的ip和宿主的ip地址是不一样的,端口转发需将localhost改为宿主机的ip ```shell拉取镜像
docker pull nginx:latest docker run —name nginx -p 80:80 -d nginx:latest-name nginx:容器名称
-d 后台运行
-p 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口
复制容器内文件到外部
docker cp nginx:/etc/nginx/ /data/ docker stop nginx docker rm nginx
删除后再次启动以挂载路径
docker run —name nginx -v /data/nginx:/etc/nginx -p 80:80 -d nginx:latest http://ip:80
<br />样例
- jenkins
```shell
#拉取镜像
docker pull jenkinsci/blueocean
#运行
docker run \
-u root \
--name jenkins \
-d \
-p 8080:8080 \
-v jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkinsci/blueocean
增加访问地址的前缀(配合nginx转发使用)
- httpd
#拉取镜像 docker pull httpd #启动("$PWD":当前路径,root路径访问没有权限) docker run -dit --name httpd -p 9001:80 -v "$PWD":/usr/local/apache2/htdocs/ httpd:latest # -dit: 后台交互运行
- mysql/mariadb
docker pull mariadb:10.5.4 #启动(-p 主机(宿主)端口:容器端口) docker run --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -v /data/mariadb/data:/var/lib/mysql -d mariadb:10.5.4
