Siirry pääsisältöön

Lokaali kehitys Dockerin avulla

Kattava ohje lokaaliin kehitykseen Seravon Docker-ympäristössä. Opi käyttämään docker-compose-työkalua, muokkaamaan asetustiedostoja ja hyödyntämään valmiita Docker-imageja tehokkaassa kehitystyössä.

Päivitetty tällä viikolla

Tämä artikkeli ohjeistaa, kuinka käytät Seravon lokaalia kehitysympäristöä Dockerin avulla. Docker on huomattavasti kevyempi ja tietoturvallisempi vaihtoehto perinteisille virtuaalikoneille.

Seravon Docker-imaget

Seravo tarjoaa valmiiksi konfiguroituja Docker-imageja, jotka vastaavat tuotantoympäristöämme. Löydät kaikki saatavilla olevat versiot ja tägit suoraan Docker Hubista:

Imagen testaaminen

Voit testata imagen toimivuutta ennen projektikohtaista aloitusta ja ladata sen koneellesi seuraavan komennon avulla:

sudo docker run seravo/wordpress

Tämä lataa uusimman imagen ja käynnistää perusmuotoisen kontin tyhjällä WordPress-asennuksella. Varsinaiseen projektityöskentelyyn suosittelemme kuitenkin alla olevaa Docker Compose -menetelmää.

Vaatimukset

Lokaalin kehitysympäristön käyttö edellyttää:

Kloonaa sivustosi lokaalille koneelle:

git clone https://github.com/esimerkkirepo/esimerkki.git

Keskeiset tiedostot ja niiden sisältö

docker-compose.yml

Tämä tiedosto määrittelee wordpress-palvelun. Kontti lukee SITE-ympäristömuuttujan; jos sitä ei löydy, nimeksi tulee oletuksena "wordpress".

services: 
wordpress:
container_name: ${SITE:-wordpress}
hostname: ${SITE:-wordpress}
image: docker.io/seravo/wordpress:nightly
ports:
- 80
- 443
- 22
- 3306
- 1337
- 1338
- 8080
- 9000
volumes:
- wordpress:/data
- .:/data/wordpress
environment:
#- WP_USER_UID=${WP_USER_UID:-1000}
- DEBUG="true"

Huom: Jos kohtaat porttiristiriitoja, kokeile määrittää ne eksplisiittisesti: 80:80, 443:443, 22:22 jne.

config-sample.yml ja config.yml

config.yml määrittelee URL-osoitteet ja ympäristön käyttäytymisen. Voit kopioida config-sample.yml:n uuden asetustiedoston pohjaksi.

### 
# Configuration for development environment (Vagrant and Docker)
###
name: wordpress
#production:
# This is used to automatically fetch data from a staging/production
environment
#domain: example.seravo.com
#ssh_port: 12345
#url: https://example.seravo.com
development:
# Domains are automatically mapped to Vagrant with /etc/hosts
modifications or Avahi domains:
- wordpress.local
# Allow Vagrant to expose .local domains on the local network (outside
of laptop)
#avahi: true
# If you want to automatically pull stuff from production use 'always'
or set
# to 'never' to just silence the 'yes/no' question during 'vagrant up'.
#pull_production_db: always
#pull_production_plugins: always
#pull_production_themes: always

Ympäristön käynnistäminen ja käyttö

Siirry projektihakemistoon ja käynnistä kontti:

docker-compose up    # Normaali tila (loki tulostuu päätteeseen) docker-compose up -d # Taustatila (detached)

Jos käynnistys onnistuu, näet lokissa viestin:

wordpress   | Success!
wordpress | Visit your site at https://wordpress.local/
wordpress | To enter the development environment simply run in the
project directory:
wordpress | ssh wordpress.local -F .vagrant/ssh/config
wordpress | You may also want to execute 'wp-development-up'

Sertifikaattivirheet

Selain näyttää varoituksen suojaamattomasta yhteydestä, koska lokaali sivusto käyttää itse allekirjoitettua sertifikaattia. Voit ohittaa varoituksen ja klikata Lisäasetukset -> Siirry sivustolle / Luota tähän sivustoon.

Konttiin kirjautuminen (SSH)

Huomioithan, että et voi ottaa SSH-yhteyttä konttiin, jos se ei ole käynnissä.

Vaikka käytämme Docker-ympäristöä, yhteyskomento sisältää polun .vagrant, jotta se on yhteensopiva vanhan SSH-konfiguraation kanssa:

ssh wordpress.local -F .vagrant/ssh/config

Kun olet sisällä kontissa, voit ajaa komennon wp-development-up. Se noutaa teemat, lisäosat ja tietokannan tuotannosta (mikäli ne on määritetty config.yml-tiedostossa).

Vianetsintä

  1. Tarkista konfiguraatiot: Varmista, että config.yml-tiedoston name vastaa docker-compose.yml-tiedoston container_name-kohtaa.

  2. Avahi: Jos wordpress.local ei aukea selaimessa, varmista että avahi: true on asetettu.

  3. Päivitä image: Aja docker-compose pull saadaksesi uusimman version Docker-imagesta.

  4. Lokit: Käytä komentoa docker-compose logs nähdäksesi mahdolliset virheilmoitukset.

Hyödyllisiä komentoja

Komento

Kuvaus

docker-compose ps

Listaa käynnissä olevat kontit (lisää -a nähdäksesi myös pysäytetyt).

docker-compose logs

Tarkastele lokitulosteita.

docker-compose down

Pysäytä ja poista kontit.

docker-compose exec

Suorita komento käynnissä olevassa kontissa root-käyttäjänä.

docker-compose pull

Päivitä käytössä oleva Docker-image.

Vastasiko tämä kysymykseesi?