Docker 入门

IDEA

连接七牛 Hub

java 实操

docker run -i -t -v /software/:/mnt/software/ e934aafc2206 /bin/bash
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>

docker run -i -t -v /Users/jingliu/Dev/python:/mnt/python/ centos /bin/bash # 通过上面的命令 创建了容器,并自动进入容器内的centos操作系统命令行,cd /mnt/software进入安装包所在路径。

docker run -d -v /software/:/mnt/software/ -p 58080:8080 --name javaweb fc826a4706af /root/run.sh # 在本地运行 tomcat

python 应用

  1. 创建Dockerfile文件 FROM python
    COPY . /home/yiibai/src
    CMD ["python", "/home/yiibai/src/index.py"]
  2. 创建一个在Docker容器中执行的python文件:index.py。
    print("Hello from python file");

  3. 创建Docker镜像
    sudo docker build -t python-app .

  4. 查看可用的Docker镜像
    sudo docker images

  5. 运行Docker
    sudo docker run python-app

todo

war 秒级:https://www.jianshu.com/p/d931e7f47966
推送到阿里云:https://blog.csdn.net/jacksonary/article/details/78974344
MYSQL

docker springboot
https://blog.csdn.net/liubingyu12345/article/details/79015966
http://www.cnblogs.com/han-1034683568/p/6840493.html

搭建集群

https://blog.csdn.net/wsbgmofo/article/details/78121486

记住这里的token 这个token是集群的唯一标识,只有根据这个token才能加入docker集群中

docker node ls 查看集群的信息,如下图

可以看到标识有leader的是集群的master服务器,其他的是从机

docker swarm join --token SWMTKN-1-5fli7xt3s4hbt3pghkmaosgz98ttvmnd1t5lolnkfn446s6gpj-15893cufutsyuc7ewg89iwhz3 192.168.2.10:2377

用之前从docker私服库中拉取的镜像,在主机上输入:

docker service create –replicas 2 –p8000:8000 –name mySwarm 192.168.230.10:5000/learn:mySwarm

运行 mysql

sudo docker run --name pwc-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7

修改MySQL配置文件有两种方法:

一是进入容器,修改容器里的MySQL的配置文件,然后重新启动容器,例如:

$ sudo docker exec -it pwc-mysql /usr/bin/bash

二是挂载主机的mysql配置文件,官方文档如下:

$ docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:5.7

docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

centos 搭建 wordpress

参考 使用docker在CentOS7上搭建WordPress
https://www.jianshu.com/p/2faca4e1f6fb

yum update -y
yum install docker -y

vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://6xacs6l2.mirror.aliyuncs.com"]
}

systemctl start docker.service

groupadd docker
useradd -g docker docker

docker pull wordpress:latest

docker pull mysql:5.6

docker run -d --privileged=true --name myMysql -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.6

docker run -d --name mwp -e WORDPRESS_DB_HOST=mysql -e WORDPRESS_DB_PASSWORD=123456 -p 80:80 --link myMysql:mysql wordpress

--name 容器的的名字
--link 和其他容器做连接
--d deamon 后台运行

CentOS默认的防火墙禁止了大于1000后的所有端口,所以我们要开启这个端口

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload #重载

访问即可

shliujing
g9T(5N&%RQoln5(%x

FAQ

  1. docker.errors.DockerException: Credentials store error: StoreError('Credentials store docker-credential-osxkeychain exited with "The user name or passphrase you entered is not correct.".',)

https://blog.csdn.net/weixin_41282397/article/details/82870511

  1. docker-credential-osxkeychain not installed or not available in PATH
    [80947] Failed to execute script docker-compose

docker login 即可

Go!!!
原文地址:https://www.cnblogs.com/shliujing/p/Docker-ru-men.html